aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/test/java
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-01-12 08:07:18 +0100
committerGitHub <noreply@github.com>2021-01-12 08:07:18 +0100
commitab7a73aa95e69c5ebb760c6d2b5b153670a0e49a (patch)
tree4a03a8e185c4680c6308dbed1678cb93a9975541 /configserver/src/test/java
parent14666cbe555006bfe675cbe0052474c644235267 (diff)
Revert "Reapply "Remove unnecessary component" [run-systemtest]""
Diffstat (limited to 'configserver/src/test/java')
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java22
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java19
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java28
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java34
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/host/HostRegistryTest.java73
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java12
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java3
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/MockRpcServer.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java16
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java54
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java29
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java3
15 files changed, 173 insertions, 141 deletions
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
index cb91a01ab55..0cab49a9f00 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
@@ -192,7 +192,7 @@ public class ApplicationRepositoryTest {
PrepareResult result = prepareAndActivate(testAppJdiscOnlyRestart);
assertTrue(result.configChangeActions().getRefeedActions().isEmpty());
assertTrue(result.configChangeActions().getRestartActions().isEmpty());
- assertEquals(HostFilter.hostname("mytesthost2"), provisioner.lastRestartFilter());
+ assertEquals(HostFilter.hostname("mytesthost"), provisioner.lastRestartFilter());
}
@Test
@@ -345,7 +345,7 @@ public class ApplicationRepositoryTest {
// Deploy another app (with id fooId)
ApplicationId fooId = applicationId(tenant2);
PrepareParams prepareParams2 = new PrepareParams.Builder().applicationId(fooId).build();
- deployApp(testAppJdiscOnly, prepareParams2);
+ deployApp(testApp, prepareParams2);
assertNotNull(applicationRepository.getActiveSession(fooId));
// Delete app with id fooId, should not affect original app
@@ -530,14 +530,14 @@ public class ApplicationRepositoryTest {
list.add(new NetworkPorts.Allocation(19081, "logserver", "admin/logserver", "unused/1"));
list.add(new NetworkPorts.Allocation(19082, "logserver", "admin/logserver", "unused/2"));
list.add(new NetworkPorts.Allocation(19083, "logserver", "admin/logserver", "unused/3"));
- list.add(new NetworkPorts.Allocation(19089, "logd", "hosts/mytesthost2/logd", "http"));
- list.add(new NetworkPorts.Allocation(19090, "configproxy", "hosts/mytesthost2/configproxy", "rpc"));
- list.add(new NetworkPorts.Allocation(19092, "metricsproxy-container", "admin/metrics/mytesthost2", "http"));
- list.add(new NetworkPorts.Allocation(19093, "metricsproxy-container", "admin/metrics/mytesthost2", "http/1"));
- list.add(new NetworkPorts.Allocation(19094, "metricsproxy-container", "admin/metrics/mytesthost2", "rpc/admin"));
- list.add(new NetworkPorts.Allocation(19095, "metricsproxy-container", "admin/metrics/mytesthost2", "rpc/metrics"));
- list.add(new NetworkPorts.Allocation(19097, "config-sentinel", "hosts/mytesthost2/sentinel", "rpc"));
- list.add(new NetworkPorts.Allocation(19098, "config-sentinel", "hosts/mytesthost2/sentinel", "http"));
+ list.add(new NetworkPorts.Allocation(19089, "logd", "hosts/mytesthost/logd", "http"));
+ list.add(new NetworkPorts.Allocation(19090, "configproxy", "hosts/mytesthost/configproxy", "rpc"));
+ list.add(new NetworkPorts.Allocation(19092, "metricsproxy-container", "admin/metrics/mytesthost", "http"));
+ list.add(new NetworkPorts.Allocation(19093, "metricsproxy-container", "admin/metrics/mytesthost", "http/1"));
+ list.add(new NetworkPorts.Allocation(19094, "metricsproxy-container", "admin/metrics/mytesthost", "rpc/admin"));
+ list.add(new NetworkPorts.Allocation(19095, "metricsproxy-container", "admin/metrics/mytesthost", "rpc/metrics"));
+ list.add(new NetworkPorts.Allocation(19097, "config-sentinel", "hosts/mytesthost/sentinel", "rpc"));
+ list.add(new NetworkPorts.Allocation(19098, "config-sentinel", "hosts/mytesthost/sentinel", "http"));
list.add(new NetworkPorts.Allocation(19099, "slobrok", "admin/slobrok.0", "rpc"));
list.add(new NetworkPorts.Allocation(19100, "container", "container/container.0", "http/1"));
list.add(new NetworkPorts.Allocation(19101, "container", "container/container.0", "messaging"));
@@ -547,7 +547,7 @@ public class ApplicationRepositoryTest {
AllocatedHosts info = session.getAllocatedHosts();
assertNotNull(info);
assertThat(info.getHosts().size(), is(1));
- assertTrue(info.getHosts().contains(new HostSpec("mytesthost2",
+ assertTrue(info.getHosts().contains(new HostSpec("mytesthost",
Collections.emptyList(),
Optional.empty())));
Optional<NetworkPorts> portsCopy = info.getHosts().iterator().next().networkPorts();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
index 4f6642610dd..bf54c2b309e 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java
@@ -8,12 +8,12 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.filedistribution.FileServer;
import com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker;
-import com.yahoo.vespa.config.server.host.HostRegistry;
+import com.yahoo.vespa.config.server.host.HostRegistries;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.provision.HostProvisionerProvider;
-import com.yahoo.vespa.config.server.rpc.RpcRequestHandlerProvider;
import com.yahoo.vespa.config.server.rpc.RpcServer;
+import com.yahoo.vespa.config.server.rpc.RpcRequestHandlerProvider;
import com.yahoo.vespa.config.server.rpc.security.NoopRpcAuthorizer;
import com.yahoo.vespa.config.server.session.SessionPreparer;
import com.yahoo.vespa.config.server.session.SessionTest;
@@ -46,6 +46,7 @@ public class InjectedGlobalComponentRegistryTest {
private RpcServer rpcServer;
private ConfigDefinitionRepo defRepo;
private PermanentApplicationPackage permanentApplicationPackage;
+ private HostRegistries hostRegistries;
private GlobalComponentRegistry globalComponentRegistry;
private ModelFactoryRegistry modelFactoryRegistry;
private Zone zone;
@@ -64,21 +65,20 @@ public class InjectedGlobalComponentRegistryTest {
.configServerDBDir(temporaryFolder.newFolder("serverdb").getAbsolutePath())
.configDefinitionsDir(temporaryFolder.newFolder("configdefinitions").getAbsolutePath()));
sessionPreparer = new SessionTest.MockSessionPreparer();
- HostRegistry hostRegistry = new HostRegistry();
rpcServer = new RpcServer(configserverConfig, null, Metrics.createTestMetrics(),
- hostRegistry, new ConfigRequestHostLivenessTracker(),
+ new HostRegistries(), new ConfigRequestHostLivenessTracker(),
new FileServer(temporaryFolder.newFolder("filereferences")),
new NoopRpcAuthorizer(), new RpcRequestHandlerProvider());
+ SuperModelGenerationCounter generationCounter = new SuperModelGenerationCounter(curator);
defRepo = new StaticConfigDefinitionRepo();
permanentApplicationPackage = new PermanentApplicationPackage(configserverConfig);
+ hostRegistries = new HostRegistries();
HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.withProvisioner(new MockProvisioner());
zone = Zone.defaultZone();
globalComponentRegistry =
- new InjectedGlobalComponentRegistry(curator, configCurator, metrics, modelFactoryRegistry, sessionPreparer,
- rpcServer, configserverConfig, defRepo, permanentApplicationPackage,
- hostProvisionerProvider, zone,
- new ConfigServerDB(configserverConfig), new InMemoryFlagSource(),
- new MockSecretStore(), hostRegistry);
+ new InjectedGlobalComponentRegistry(curator, configCurator, metrics, modelFactoryRegistry, sessionPreparer, rpcServer, configserverConfig,
+ generationCounter, defRepo, permanentApplicationPackage, hostRegistries, hostProvisionerProvider, zone,
+ new ConfigServerDB(configserverConfig), new InMemoryFlagSource(), new MockSecretStore());
}
@Test
@@ -92,6 +92,7 @@ public class InjectedGlobalComponentRegistryTest {
assertThat(globalComponentRegistry.getTenantListener().hashCode(), is(rpcServer.hashCode()));
assertThat(globalComponentRegistry.getStaticConfigDefinitionRepo(), is(defRepo));
assertThat(globalComponentRegistry.getPermanentApplicationPackage(), is(permanentApplicationPackage));
+ assertThat(globalComponentRegistry.getHostRegistries(), is(hostRegistries));
assertThat(globalComponentRegistry.getZone(), is (zone));
assertTrue(globalComponentRegistry.getHostProvisioner().isPresent());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
index c58bd6d6b0a..965374f2aa4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
@@ -83,6 +83,34 @@ public class SuperModelControllerTest {
}
@Test
+ public void test_lb_config_multiple_apps_legacy_super_model() throws IOException, SAXException {
+ Map<ApplicationId, ApplicationInfo> models = new LinkedHashMap<>();
+ TenantName t1 = TenantName.from("t1");
+ TenantName t2 = TenantName.from("t2");
+ File testApp1 = new File("src/test/resources/deploy/app");
+ File testApp2 = new File("src/test/resources/deploy/advancedapp");
+ File testApp3 = new File("src/test/resources/deploy/advancedapp");
+
+ ApplicationId simple = applicationId("mysimpleapp", t1);
+ ApplicationId advanced = applicationId("myadvancedapp", t1);
+ ApplicationId tooAdvanced = applicationId("minetooadvancedapp", t2);
+ models.put(simple, createApplicationInfo(testApp1, simple, 4L));
+ models.put(advanced, createApplicationInfo(testApp2, advanced, 4L));
+ models.put(tooAdvanced, createApplicationInfo(testApp3, tooAdvanced, 4L));
+
+ SuperModel superModel = new SuperModel(models, true);
+ SuperModelController han = new SuperModelController(new SuperModelConfigProvider(superModel, Zone.defaultZone(), new InMemoryFlagSource()), new TestConfigDefinitionRepo(), 2, new UncompressedConfigResponseFactory());
+ LbServicesConfig.Builder lb = new LbServicesConfig.Builder();
+ han.getSuperModel().getConfig(lb);
+ LbServicesConfig lbc = new LbServicesConfig(lb);
+ assertThat(lbc.tenants().size(), is(2));
+ assertThat(lbc.tenants("t1").applications().size(), is(2));
+ assertThat(lbc.tenants("t2").applications().size(), is(1));
+ assertThat(lbc.tenants("t2").applications("minetooadvancedapp:prod:default:default").hosts().size(), is(1));
+ assertQrServer(lbc.tenants("t2").applications("minetooadvancedapp:prod:default:default"));
+ }
+
+ @Test
public void test_lb_config_multiple_apps() throws IOException, SAXException {
Map<ApplicationId, ApplicationInfo> models = new LinkedHashMap<>();
TenantName t1 = TenantName.from("t1");
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
index cbff99c04dc..e6652c3c5e1 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java
@@ -1,4 +1,4 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server;
import com.yahoo.cloud.config.ConfigserverConfig;
@@ -12,12 +12,12 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.secretstore.SecretStore;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.application.TenantApplicationsTest;
-import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
-import com.yahoo.vespa.config.server.filedistribution.MockFileDistributionFactory;
-import com.yahoo.vespa.config.server.host.HostRegistry;
+import com.yahoo.vespa.config.server.host.HostRegistries;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.provision.HostProvisionerProvider;
+import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
+import com.yahoo.vespa.config.server.filedistribution.MockFileDistributionFactory;
import com.yahoo.vespa.config.server.session.SessionPreparer;
import com.yahoo.vespa.config.server.tenant.MockTenantListener;
import com.yahoo.vespa.config.server.tenant.TenantListener;
@@ -50,6 +50,7 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private final ReloadListener reloadListener;
private final TenantListener tenantListener;
private final PermanentApplicationPackage permanentApplicationPackage;
+ private final HostRegistries hostRegistries;
private final FileDistributionFactory fileDistributionFactory;
private final ModelFactoryRegistry modelFactoryRegistry;
private final Optional<Provisioner> hostProvisioner;
@@ -60,12 +61,12 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private final ExecutorService zkCacheExecutor;
private final SecretStore secretStore;
private final FlagSource flagSource;
- private final HostRegistry hostRegistry;
private TestComponentRegistry(Curator curator, ConfigCurator configCurator, Metrics metrics,
ModelFactoryRegistry modelFactoryRegistry,
PermanentApplicationPackage permanentApplicationPackage,
FileDistributionFactory fileDistributionFactory,
+ HostRegistries hostRegistries,
ConfigserverConfig configserverConfig,
SessionPreparer sessionPreparer,
Optional<Provisioner> hostProvisioner,
@@ -75,8 +76,7 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
Zone zone,
Clock clock,
SecretStore secretStore,
- FlagSource flagSource,
- HostRegistry hostRegistry) {
+ FlagSource flagSource) {
this.curator = curator;
this.configCurator = configCurator;
this.metrics = metrics;
@@ -85,6 +85,7 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
this.tenantListener = tenantListener;
this.defRepo = defRepo;
this.permanentApplicationPackage = permanentApplicationPackage;
+ this.hostRegistries = hostRegistries;
this.fileDistributionFactory = fileDistributionFactory;
this.modelFactoryRegistry = modelFactoryRegistry;
this.hostProvisioner = hostProvisioner;
@@ -96,7 +97,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
this.zkCacheExecutor = new InThreadExecutorService();
this.secretStore = secretStore;
this.flagSource = flagSource;
- this.hostRegistry = hostRegistry;
}
public static class Builder {
@@ -112,13 +112,13 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private ReloadListener reloadListener = new TenantApplicationsTest.MockReloadListener();
private final MockTenantListener tenantListener = new MockTenantListener();
private Optional<PermanentApplicationPackage> permanentApplicationPackage = Optional.empty();
+ private final HostRegistries hostRegistries = new HostRegistries();
private final Optional<FileDistributionFactory> fileDistributionFactory = Optional.empty();
private ModelFactoryRegistry modelFactoryRegistry = new ModelFactoryRegistry(Collections.singletonList(new VespaModelFactory(new NullConfigModelRegistry())));
private Optional<Provisioner> hostProvisioner = Optional.empty();
private Zone zone = Zone.defaultZone();
private Clock clock = Clock.systemUTC();
private FlagSource flagSource = new InMemoryFlagSource();
- private HostRegistry hostRegistry = new HostRegistry();
public Builder configServerConfig(ConfigserverConfig configserverConfig) {
this.configserverConfig = configserverConfig;
@@ -175,11 +175,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
return this;
}
- public Builder hostRegistry(HostRegistry hostRegistry) {
- this.hostRegistry = hostRegistry;
- return this;
- }
-
public TestComponentRegistry build() {
final PermanentApplicationPackage permApp = this.permanentApplicationPackage
.orElse(new PermanentApplicationPackage(configserverConfig));
@@ -193,9 +188,9 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
configserverConfig, defRepo, curator,
zone, flagSource, secretStore);
return new TestComponentRegistry(curator, ConfigCurator.create(curator), metrics, modelFactoryRegistry,
- permApp, fileDistributionProvider, configserverConfig,
+ permApp, fileDistributionProvider, hostRegistries, configserverConfig,
sessionPreparer, hostProvisioner, defRepo, reloadListener, tenantListener,
- zone, clock, secretStore, flagSource, hostRegistry);
+ zone, clock, secretStore, flagSource);
}
}
@@ -218,6 +213,8 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
@Override
public PermanentApplicationPackage getPermanentApplicationPackage() { return permanentApplicationPackage; }
@Override
+ public HostRegistries getHostRegistries() { return hostRegistries;}
+ @Override
public ModelFactoryRegistry getModelFactoryRegistry() { return modelFactoryRegistry; }
@Override
public Optional<Provisioner> getHostProvisioner() {
@@ -250,11 +247,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
return secretStore;
}
- @Override
- public HostRegistry hostRegistry() {
- return hostRegistry;
- }
-
public FileDistributionFactory getFileDistributionFactory() { return fileDistributionFactory; }
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
index ddbe97f4389..947308962d4 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/application/TenantApplicationsTest.java
@@ -151,12 +151,12 @@ public class TenantApplicationsTest {
}
@Override
- public void hostsUpdated(ApplicationId applicationId, Collection<String> newHosts) {
- tenantHosts.put(applicationId.tenant().value(), newHosts);
+ public void hostsUpdated(TenantName tenant, Collection<String> newHosts) {
+ tenantHosts.put(tenant.value(), newHosts);
}
@Override
- public void verifyHostsAreAvailable(ApplicationId applicationId, Collection<String> newHosts) {
+ public void verifyHostsAreAvailable(TenantName tenant, Collection<String> newHosts) {
}
@Override
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/host/HostRegistryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/host/HostRegistryTest.java
index 173e9f3e148..63dfb1d01bd 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/host/HostRegistryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/host/HostRegistryTest.java
@@ -1,44 +1,37 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.host;
-import com.yahoo.config.provision.ApplicationId;
-import org.junit.Test;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import org.junit.Test;
+
import static org.hamcrest.collection.IsIterableContainingInOrder.contains;
import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.*;
/**
* @author Ulf Lilleengen
*/
public class HostRegistryTest {
-
- private final ApplicationId foo = ApplicationId.from("foo", "app1", "default");
- private final ApplicationId bar = ApplicationId.from("bar", "app2", "default");
-
@Test
public void old_hosts_are_removed() {
- HostRegistry reg = new HostRegistry();
+ HostRegistry<String> reg = new HostRegistry<>();
assertNull(reg.getKeyForHost("foo.com"));
- reg.update(foo, List.of("foo.com", "bar.com", "baz.com"));
- assertGetKey(reg, "foo.com", foo);
- assertGetKey(reg, "bar.com", foo);
- assertGetKey(reg, "baz.com", foo);
+ reg.update("fookey", List.of("foo.com", "bar.com", "baz.com"));
+ assertGetKey(reg, "foo.com", "fookey");
+ assertGetKey(reg, "bar.com", "fookey");
+ assertGetKey(reg, "baz.com", "fookey");
assertThat(reg.getAllHosts().size(), is(3));
- reg.update(foo, List.of("bar.com", "baz.com"));
+ reg.update("fookey", List.of("bar.com", "baz.com"));
assertNull(reg.getKeyForHost("foo.com"));
- assertGetKey(reg, "bar.com", foo);
- assertGetKey(reg, "baz.com", foo);
+ assertGetKey(reg, "bar.com", "fookey");
+ assertGetKey(reg, "baz.com", "fookey");
assertThat(reg.getAllHosts().size(), is(2));
assertThat(reg.getAllHosts(), contains("bar.com", "baz.com"));
- reg.removeHostsForKey(foo);
+ reg.removeHostsForKey("fookey");
assertThat(reg.getAllHosts().size(), is(0));
assertNull(reg.getKeyForHost("foo.com"));
assertNull(reg.getKeyForHost("bar.com"));
@@ -46,51 +39,51 @@ public class HostRegistryTest {
@Test
public void multiple_keys_are_handled() {
- HostRegistry reg = new HostRegistry();
- reg.update(foo, List.of("foo.com", "bar.com"));
- reg.update(bar, List.of("baz.com", "quux.com"));
- assertGetKey(reg, "foo.com", foo);
- assertGetKey(reg, "bar.com", foo);
- assertGetKey(reg, "baz.com", bar);
- assertGetKey(reg, "quux.com", bar);
+ HostRegistry<String> reg = new HostRegistry<>();
+ reg.update("fookey", List.of("foo.com", "bar.com"));
+ reg.update("barkey", List.of("baz.com", "quux.com"));
+ assertGetKey(reg, "foo.com", "fookey");
+ assertGetKey(reg, "bar.com", "fookey");
+ assertGetKey(reg, "baz.com", "barkey");
+ assertGetKey(reg, "quux.com", "barkey");
}
@Test(expected = IllegalArgumentException.class)
public void keys_cannot_overlap() {
- HostRegistry reg = new HostRegistry();
- reg.update(foo, List.of("foo.com", "bar.com"));
- reg.update(bar, List.of("bar.com", "baz.com"));
+ HostRegistry<String> reg = new HostRegistry<>();
+ reg.update("fookey", List.of("foo.com", "bar.com"));
+ reg.update("barkey", List.of("bar.com", "baz.com"));
}
@Test
public void all_hosts_are_returned() {
- HostRegistry reg = new HostRegistry();
- reg.update(foo, List.of("foo.com", "bar.com"));
- reg.update(bar, List.of("baz.com", "quux.com"));
+ HostRegistry<String> reg = new HostRegistry<>();
+ reg.update("fookey", List.of("foo.com", "bar.com"));
+ reg.update("barkey", List.of("baz.com", "quux.com"));
assertThat(reg.getAllHosts().size(), is(4));
}
@Test
public void ensure_that_collection_is_copied() {
- HostRegistry reg = new HostRegistry();
+ HostRegistry<String> reg = new HostRegistry<>();
List<String> hosts = new ArrayList<>(List.of("foo.com", "bar.com", "baz.com"));
- reg.update(foo, hosts);
- assertThat(reg.getHostsForKey(foo).size(), is(3));
+ reg.update("fookey", hosts);
+ assertThat(reg.getHostsForKey("fookey").size(), is(3));
hosts.remove(2);
- assertThat(reg.getHostsForKey(foo).size(), is(3));
+ assertThat(reg.getHostsForKey("fookey").size(), is(3));
}
@Test
public void ensure_that_underlying_hosts_do_not_change() {
- HostRegistry reg = new HostRegistry();
- reg.update(foo, List.of("foo.com", "bar.com", "baz.com"));
+ HostRegistry<String> reg = new HostRegistry<>();
+ reg.update("fookey", List.of("foo.com", "bar.com", "baz.com"));
Collection<String> hosts = reg.getAllHosts();
assertThat(hosts.size(), is(3));
- reg.update(foo, List.of("foo.com"));
+ reg.update("fookey", List.of("foo.com"));
assertThat(hosts.size(), is(3));
}
- private void assertGetKey(HostRegistry reg, String host, ApplicationId expectedKey) {
+ private void assertGetKey(HostRegistry<String> reg, String host, String expectedKey) {
assertNotNull(reg.getKeyForHost(host));
assertThat(reg.getKeyForHost(host), is(expectedKey));
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
index 809bcdc1a6e..126dfe88141 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java
@@ -36,12 +36,14 @@ import static org.junit.Assert.assertThat;
public class ApplicationContentHandlerTest extends ContentHandlerTestBase {
private static final File testApp = new File("src/test/apps/content");
+ private static final File testApp2 = new File("src/test/apps/content2");
private final TenantName tenantName1 = TenantName.from("mofet");
private final TenantName tenantName2 = TenantName.from("bla");
private final String baseServer = "http://foo:1337";
private final ApplicationId appId1 = new ApplicationId.Builder().tenant(tenantName1).applicationName("foo").instanceName("quux").build();
+ private final ApplicationId appId2 = new ApplicationId.Builder().tenant(tenantName2).applicationName("foo").instanceName("quux").build();
private ApplicationRepository applicationRepository;
private ApplicationHandler handler;
@@ -75,6 +77,8 @@ public class ApplicationContentHandlerTest extends ContentHandlerTestBase {
.build();
applicationRepository.deploy(testApp, prepareParams(appId1));
+ applicationRepository.deploy(testApp2, prepareParams(appId2));
+
handler = new ApplicationHandler(ApplicationHandler.testOnlyContext(),
Zone.defaultZone(),
applicationRepository);
@@ -109,6 +113,14 @@ public class ApplicationContentHandlerTest extends ContentHandlerTestBase {
}
@Test
+ public void require_that_multiple_tenants_are_handled() throws IOException {
+ assertContent("/test.txt", "foo\n");
+ pathPrefix = createPath(appId2, Zone.defaultZone());
+ baseUrl = baseServer + pathPrefix;
+ assertContent("/test.txt", "bar\n");
+ }
+
+ @Test
public void require_that_get_does_not_set_write_flag() throws IOException {
Tenant tenant1 = applicationRepository.getTenant(appId1);
Session session = applicationRepository.getActiveLocalSession(tenant1, appId1);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
index 3fb999e85f7..a0c63c8bba1 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
@@ -76,7 +76,6 @@ import static org.mockito.Mockito.when;
public class ApplicationHandlerTest {
private static final File testApp = new File("src/test/apps/app");
- private static final File testAppJdiscOnly = new File("src/test/apps/app-jdisc-only");
private final static TenantName mytenantName = TenantName.from("mytenant");
private final static ApplicationId myTenantApplicationId = ApplicationId.from(mytenantName, ApplicationName.defaultName(), InstanceName.defaultName());
@@ -151,7 +150,7 @@ public class ApplicationHandlerTest {
.instanceName("quux")
.build();
PrepareParams prepareParams2 = new PrepareParams.Builder().applicationId(fooId).build();
- applicationRepository.deploy(testAppJdiscOnly, prepareParams2);
+ applicationRepository.deploy(testApp, prepareParams2);
assertApplicationExists(fooId, Zone.defaultZone());
deleteAndAssertOKResponseMocked(fooId, true);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java
index a072bf62852..9bd7a25faf2 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/TenantsMaintainerTest.java
@@ -56,8 +56,7 @@ public class TenantsMaintainerTest {
assertNotNull(tenantRepository.getTenant(TenantName.defaultName()));
assertNotNull(tenantRepository.getTenant(TenantRepository.HOSTED_VESPA_TENANT));
- // Delete app, add tenant again and deploy
- tester.applicationRepository().delete(applicationId(shouldNotBeDeleted));
+ // Add tenant again and deploy
tenantRepository.addTenant(shouldBeDeleted);
tester.deployApp(applicationPackage, prepareParams(shouldBeDeleted));
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/MockRpcServer.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/MockRpcServer.java
index 997633eeb53..7f4733f0b7c 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/MockRpcServer.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/MockRpcServer.java
@@ -1,4 +1,4 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.rpc;
import com.yahoo.cloud.config.ConfigserverConfig;
@@ -8,7 +8,7 @@ import com.yahoo.vespa.config.protocol.JRTServerConfigRequest;
import com.yahoo.vespa.config.server.GetConfigContext;
import com.yahoo.vespa.config.server.filedistribution.FileServer;
import com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker;
-import com.yahoo.vespa.config.server.host.HostRegistry;
+import com.yahoo.vespa.config.server.host.HostRegistries;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.rpc.security.NoopRpcAuthorizer;
@@ -37,7 +37,7 @@ public class MockRpcServer extends RpcServer {
super(createConfig(port),
null,
Metrics.createTestMetrics(),
- new HostRegistry(),
+ new HostRegistries(),
new ConfigRequestHostLivenessTracker(),
new FileServer(tempDir),
new NoopRpcAuthorizer(),
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java
index 5a41eff3cc9..735eae2700f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcServerTest.java
@@ -64,19 +64,31 @@ public class RpcServerTest {
try (RpcTester tester = new RpcTester(applicationId, temporaryFolder)) {
ApplicationRepository applicationRepository = tester.applicationRepository();
applicationRepository.deploy(testApp, new PrepareParams.Builder().applicationId(applicationId).build());
+ TenantApplications applicationRepo = tester.tenant().getApplicationRepo();
+ RemoteSession activeSession = applicationRepository.getActiveRemoteSession(applicationId);
+ ApplicationSet applicationSet = tester.tenant().getSessionRepository().ensureApplicationLoaded(activeSession);
+ applicationRepo.activateApplication(applicationSet, activeSession.getSessionId());
testPrintStatistics(tester);
testGetConfig(tester);
testEnabled(tester);
testApplicationNotLoadedErrorWhenAppDeleted(tester);
+ testEmptySentinelConfigWhenAppDeletedOnHostedVespa();
}
}
- private void testApplicationNotLoadedErrorWhenAppDeleted(RpcTester tester) {
- tester.applicationRepository().delete(applicationId);
+ private void testApplicationNotLoadedErrorWhenAppDeleted(RpcTester tester) throws InterruptedException, IOException {
+ tester.rpcServer().onTenantDelete(tenantName);
+ tester.rpcServer().onTenantsLoaded();
JRTClientConfigRequest clientReq = createSimpleRequest();
tester.performRequest(clientReq.getRequest());
assertFalse(clientReq.validateResponse());
assertThat(clientReq.errorCode(), is(ErrorCode.APPLICATION_NOT_LOADED));
+ tester.stopRpc();
+ tester.createAndStartRpcServer();
+ tester.rpcServer().onTenantsLoaded();
+ clientReq = createSimpleRequest();
+ tester.performRequest(clientReq.getRequest());
+ assertTrue(clientReq.validateResponse());
}
@Test
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
index 8284aacc97e..2b2ed13fcfe 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
@@ -12,6 +12,7 @@ import com.yahoo.jrt.Supervisor;
import com.yahoo.jrt.Transport;
import com.yahoo.net.HostName;
import com.yahoo.test.ManualClock;
+import com.yahoo.vespa.config.GenerationCounter;
import com.yahoo.vespa.config.server.ApplicationRepository;
import com.yahoo.vespa.config.server.MemoryGenerationCounter;
import com.yahoo.vespa.config.server.MockProvisioner;
@@ -23,7 +24,7 @@ import com.yahoo.vespa.config.server.TestConfigDefinitionRepo;
import com.yahoo.vespa.config.server.application.OrchestratorMock;
import com.yahoo.vespa.config.server.filedistribution.FileServer;
import com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker;
-import com.yahoo.vespa.config.server.host.HostRegistry;
+import com.yahoo.vespa.config.server.host.HostRegistries;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.rpc.security.NoopRpcAuthorizer;
import com.yahoo.vespa.config.server.tenant.Tenant;
@@ -54,15 +55,15 @@ public class RpcTester implements AutoCloseable {
private final ManualClock clock = new ManualClock(Instant.ofEpochMilli(100));
private final String myHostname = HostName.getLocalhost();
private final HostLivenessTracker hostLivenessTracker = new ConfigRequestHostLivenessTracker(clock);
+ private final GenerationCounter generationCounter;
private final Spec spec;
- private final RpcServer rpcServer;
+ private RpcServer rpcServer;
private Thread t;
private Supervisor sup;
private final ApplicationId applicationId;
private final TenantName tenantName;
private final TenantRepository tenantRepository;
- private final HostRegistry hostRegistry = new HostRegistry();
private final ApplicationRepository applicationRepository;
private final List<Integer> allocatedPorts = new ArrayList<>();
@@ -84,27 +85,23 @@ public class RpcTester implements AutoCloseable {
.configDefinitionsDir(temporaryFolder.newFolder().getAbsolutePath())
.fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath());
configserverConfig = new ConfigserverConfig(configBuilder);
- rpcServer = createRpcServer(configserverConfig);
TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder()
.configDefinitionRepo(new TestConfigDefinitionRepo())
.configServerConfig(configserverConfig)
- .reloadListener(rpcServer)
- .hostRegistry(hostRegistry)
.build();
tenantRepository = new TenantRepository(componentRegistry);
tenantRepository.addTenant(tenantName);
- startRpcServer();
applicationRepository = new ApplicationRepository.Builder()
.withTenantRepository(tenantRepository)
- .withConfigserverConfig(configserverConfig)
.withProvisioner(new MockProvisioner())
.withOrchestrator(new OrchestratorMock())
.build();
+ generationCounter = new MemoryGenerationCounter();
+ createAndStartRpcServer();
assertFalse(hostLivenessTracker.lastRequestFrom(myHostname).isPresent());
}
public void close() {
- rpcServer.stop();
for (Integer port : allocatedPorts) {
PortRangeAllocator.releasePort(port);
}
@@ -116,25 +113,24 @@ public class RpcTester implements AutoCloseable {
return port;
}
- RpcServer createRpcServer(ConfigserverConfig config) throws IOException {
- return new RpcServer(config,
- new SuperModelRequestHandler(new TestConfigDefinitionRepo(),
- configserverConfig,
- new SuperModelManager(
- config,
- Zone.defaultZone(),
- new MemoryGenerationCounter(),
- new InMemoryFlagSource())),
- Metrics.createTestMetrics(),
- hostRegistry,
- hostLivenessTracker,
- new FileServer(temporaryFolder.newFolder()),
- new NoopRpcAuthorizer(),
- new RpcRequestHandlerProvider());
- }
-
- void startRpcServer() {
- hostRegistry.update(applicationId, List.of("localhost"));
+ void createAndStartRpcServer() throws IOException {
+ HostRegistries hostRegistries = new HostRegistries();
+ hostRegistries.createApplicationHostRegistry(tenantName).update(applicationId, List.of("localhost"));
+ hostRegistries.getTenantHostRegistry().update(tenantName, List.of("localhost"));
+ rpcServer = new RpcServer(configserverConfig,
+ new SuperModelRequestHandler(new TestConfigDefinitionRepo(),
+ configserverConfig,
+ new SuperModelManager(
+ configserverConfig,
+ Zone.defaultZone() ,
+ generationCounter,
+ new InMemoryFlagSource())),
+ Metrics.createTestMetrics(),
+ hostRegistries,
+ hostLivenessTracker,
+ new FileServer(temporaryFolder.newFolder()),
+ new NoopRpcAuthorizer(),
+ new RpcRequestHandlerProvider());
rpcServer.onTenantCreate(tenantRepository.getTenant(tenantName));
t = new Thread(rpcServer);
t.start();
@@ -169,7 +165,7 @@ public class RpcTester implements AutoCloseable {
void performRequest(Request req) {
clock.advance(Duration.ofMillis(10));
- sup.connect(spec).invokeSync(req, 10.0);
+ sup.connect(spec).invokeSync(req, 120.0);
if (req.methodName().equals(RpcServer.getConfigMethodName))
assertEquals(clock.instant(), hostLivenessTracker.lastRequestFrom(myHostname).get());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java
index 12debc347de..9e1edb35b8f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java
@@ -7,6 +7,7 @@ import com.yahoo.config.FileReference;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeType;
+import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.security.NodeIdentifier;
import com.yahoo.config.provision.security.NodeIdentifierException;
import com.yahoo.config.provision.security.NodeIdentity;
@@ -65,7 +66,7 @@ public class MultiTenantRpcAuthorizerTest {
@Test
public void configserver_can_access_files_and_config() throws InterruptedException, ExecutionException {
RpcAuthorizer authorizer = createAuthorizer(new NodeIdentity.Builder(NodeType.config).build(),
- new HostRegistry());
+ new HostRegistry<>());
Request configRequest = createConfigRequest(new ConfigKey<>("name", "configid", "namespace"), HOSTNAME);
authorizer.authorizeConfigRequest(configRequest)
@@ -82,8 +83,8 @@ public class MultiTenantRpcAuthorizerTest {
.applicationId(APPLICATION_ID)
.build();
- HostRegistry hostRegistry = new HostRegistry();
- hostRegistry.update(APPLICATION_ID, List.of(HOSTNAME.value()));
+ HostRegistry<TenantName> hostRegistry = new HostRegistry<>();
+ hostRegistry.update(APPLICATION_ID.tenant(), List.of(HOSTNAME.value()));
RpcAuthorizer authorizer = createAuthorizer(identity, hostRegistry);
@@ -98,7 +99,7 @@ public class MultiTenantRpcAuthorizerTest {
@Test
public void proxy_node_can_access_lbservice_config() throws ExecutionException, InterruptedException {
- RpcAuthorizer authorizer = createAuthorizer(new NodeIdentity.Builder(NodeType.proxy).build(), new HostRegistry());
+ RpcAuthorizer authorizer = createAuthorizer(new NodeIdentity.Builder(NodeType.proxy).build(), new HostRegistry<>());
Request configRequest = createConfigRequest(
new ConfigKey<>(LbServicesConfig.CONFIG_DEF_NAME, "*", LbServicesConfig.CONFIG_DEF_NAMESPACE),
@@ -109,7 +110,7 @@ public class MultiTenantRpcAuthorizerTest {
@Test
public void tenant_node_cannot_access_lbservice_config() throws ExecutionException, InterruptedException {
- RpcAuthorizer authorizer = createAuthorizer(new NodeIdentity.Builder(NodeType.tenant).build(), new HostRegistry());
+ RpcAuthorizer authorizer = createAuthorizer(new NodeIdentity.Builder(NodeType.tenant).build(), new HostRegistry<>());
Request configRequest = createConfigRequest(
new ConfigKey<>(LbServicesConfig.CONFIG_DEF_NAME, "*", LbServicesConfig.CONFIG_DEF_NAMESPACE),
@@ -128,8 +129,8 @@ public class MultiTenantRpcAuthorizerTest {
.applicationId(APPLICATION_ID)
.build();
- HostRegistry hostRegistry = new HostRegistry();
- hostRegistry.update(APPLICATION_ID, List.of(HOSTNAME.value()));
+ HostRegistry<TenantName> hostRegistry = new HostRegistry<>();
+ hostRegistry.update(APPLICATION_ID.tenant(), List.of(HOSTNAME.value()));
RpcAuthorizer authorizer = createAuthorizer(identity, hostRegistry);
@@ -148,8 +149,8 @@ public class MultiTenantRpcAuthorizerTest {
.applicationId(EVIL_APP_ID)
.build();
- HostRegistry hostRegistry = new HostRegistry();
- hostRegistry.update(APPLICATION_ID, List.of(HOSTNAME.value()));
+ HostRegistry<TenantName> hostRegistry = new HostRegistry<>();
+ hostRegistry.update(APPLICATION_ID.tenant(), List.of(HOSTNAME.value()));
RpcAuthorizer authorizer = createAuthorizer(identity, hostRegistry);
@@ -168,7 +169,7 @@ public class MultiTenantRpcAuthorizerTest {
.applicationId(EVIL_APP_ID)
.build();
- HostRegistry hostRegistry = new HostRegistry();
+ HostRegistry<TenantName> hostRegistry = new HostRegistry<>();
RpcAuthorizer authorizer = createAuthorizer(identity, hostRegistry);
@@ -187,8 +188,8 @@ public class MultiTenantRpcAuthorizerTest {
.applicationId(EVIL_APP_ID)
.build();
- HostRegistry hostRegistry = new HostRegistry();
- hostRegistry.update(EVIL_APP_ID, List.of(HOSTNAME.value()));
+ HostRegistry<TenantName> hostRegistry = new HostRegistry<>();
+ hostRegistry.update(EVIL_APP_ID.tenant(), List.of(HOSTNAME.value()));
RpcAuthorizer authorizer = createAuthorizer(identity, hostRegistry);
@@ -207,7 +208,7 @@ public class MultiTenantRpcAuthorizerTest {
.applicationId(APPLICATION_ID)
.build();
- HostRegistry hostRegistry = new HostRegistry();
+ HostRegistry<TenantName> hostRegistry = new HostRegistry<>();
RpcAuthorizer authorizer = createAuthorizer(identity, hostRegistry);
@@ -218,7 +219,7 @@ public class MultiTenantRpcAuthorizerTest {
}
- private static RpcAuthorizer createAuthorizer(NodeIdentity identity, HostRegistry hostRegistry) {
+ private static RpcAuthorizer createAuthorizer(NodeIdentity identity, HostRegistry<TenantName> hostRegistry) {
return new MultiTenantRpcAuthorizer(
new StaticNodeIdentifier(identity),
hostRegistry,
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index 90d3bddc88d..76958264d84 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -187,7 +187,7 @@ public class SessionPreparerTest {
@Test(expected = InvalidApplicationException.class)
public void require_exception_for_overlapping_host() throws IOException {
FilesApplicationPackage app = getApplicationPackage(testApp);
- HostRegistry hostValidator = new HostRegistry();
+ HostRegistry<ApplicationId> hostValidator = new HostRegistry<>();
hostValidator.update(applicationId("foo"), Collections.singletonList("mytesthost"));
preparer.prepare(hostValidator, new BaseDeployLogger(), new PrepareParams.Builder().applicationId(applicationId("default")).build(),
Optional.empty(), Instant.now(), app.getAppDir(), app, createSessionZooKeeperClient());
@@ -200,7 +200,7 @@ public class SessionPreparerTest {
if (level.equals(Level.WARNING) && message.contains("The host mytesthost is already in use")) logged.append("ok");
};
FilesApplicationPackage app = getApplicationPackage(testApp);
- HostRegistry hostValidator = new HostRegistry();
+ HostRegistry<ApplicationId> hostValidator = new HostRegistry<>();
ApplicationId applicationId = applicationId();
hostValidator.update(applicationId, Collections.singletonList("mytesthost"));
preparer.prepare(hostValidator, logger, new PrepareParams.Builder().applicationId(applicationId).build(),
@@ -367,7 +367,7 @@ public class SessionPreparerTest {
private PrepareResult prepare(File app, PrepareParams params, long sessionId) throws IOException {
FilesApplicationPackage applicationPackage = getApplicationPackage(app);
- return preparer.prepare(new HostRegistry(), getLogger(), params,
+ return preparer.prepare(new HostRegistry<>(), getLogger(), params,
Optional.empty(), Instant.now(), applicationPackage.getAppDir(),
applicationPackage, createSessionZooKeeperClient(sessionId));
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
index c7612937d47..bfcfc7d6e43 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java
@@ -60,7 +60,6 @@ public class SessionRepositoryTest {
private static final TenantName tenantName = TenantName.defaultName();
private static final ApplicationId applicationId = ApplicationId.from(tenantName.value(), "testApp", "default");
private static final File testApp = new File("src/test/apps/app");
- private static final File appJdiscOnly = new File("src/test/apps/app-jdisc-only");
private MockCurator curator;
private TenantRepository tenantRepository;
@@ -136,7 +135,7 @@ public class SessionRepositoryTest {
// tenant is "newTenant"
TenantName newTenant = TenantName.from("newTenant");
tenantRepository.addTenant(newTenant);
- long sessionId = deploy(ApplicationId.from(newTenant.value(), "testapp", "default"), appJdiscOnly);
+ long sessionId = deploy(ApplicationId.from(newTenant.value(), "testapp", "default"));
SessionRepository sessionRepository2 = tenantRepository.getTenant(newTenant).getSessionRepository();
assertNotNull(sessionRepository2.getLocalSession(sessionId));
}