diff options
author | Harald Musum <musum@verizonmedia.com> | 2021-01-20 13:55:51 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2021-01-20 13:55:51 +0100 |
commit | 34def165401f453ef09f0b4512bde09c61fa8a21 (patch) | |
tree | d8eb76058fc92588479f4d20d04bbaea42d029f7 /configserver/src/test/java/com/yahoo | |
parent | a0d7822978d83bebb173887da4bf30319f37f216 (diff) |
Move provisioner out of GlobalComponentRegistry
Diffstat (limited to 'configserver/src/test/java/com/yahoo')
9 files changed, 40 insertions, 36 deletions
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 a651f947136..9665e0095e9 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 @@ -55,14 +55,12 @@ public class InjectedGlobalComponentRegistryTest { new FileServer(temporaryFolder.newFolder("filereferences")), new NoopRpcAuthorizer(), new RpcRequestHandlerProvider()); defRepo = new StaticConfigDefinitionRepo(); - HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.withProvisioner(new MockProvisioner()); zone = Zone.defaultZone(); globalComponentRegistry = new InjectedGlobalComponentRegistry(modelFactoryRegistry, rpcServer, configserverConfig, defRepo, - hostProvisionerProvider, zone, new ConfigServerDB(configserverConfig)); } @@ -75,7 +73,6 @@ public class InjectedGlobalComponentRegistryTest { assertThat(globalComponentRegistry.getTenantListener().hashCode(), is(rpcServer.hashCode())); assertThat(globalComponentRegistry.getStaticConfigDefinitionRepo(), is(defRepo)); assertThat(globalComponentRegistry.getZone(), is(zone)); - assertTrue(globalComponentRegistry.getHostProvisioner().isPresent()); } } 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 c2571fbf224..24f59ee8675 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 @@ -4,7 +4,6 @@ package com.yahoo.vespa.config.server; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.config.model.NullConfigModelRegistry; import com.yahoo.config.model.api.ConfigDefinitionRepo; -import com.yahoo.config.provision.Provisioner; import com.yahoo.config.provision.Zone; import com.yahoo.vespa.config.server.application.TenantApplicationsTest; import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry; @@ -15,7 +14,6 @@ import com.yahoo.vespa.model.VespaModelFactory; import java.nio.file.Files; import java.time.Clock; import java.util.Collections; -import java.util.Optional; import static com.yahoo.yolean.Exceptions.uncheck; @@ -29,14 +27,12 @@ public class TestComponentRegistry implements GlobalComponentRegistry { private final ReloadListener reloadListener; private final TenantListener tenantListener; private final ModelFactoryRegistry modelFactoryRegistry; - private final Optional<Provisioner> hostProvisioner; private final Zone zone; private final Clock clock; private final ConfigServerDB configServerDB; private TestComponentRegistry(ModelFactoryRegistry modelFactoryRegistry, ConfigserverConfig configserverConfig, - Optional<Provisioner> hostProvisioner, ConfigDefinitionRepo defRepo, ReloadListener reloadListener, TenantListener tenantListener, @@ -47,7 +43,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry { this.tenantListener = tenantListener; this.defRepo = defRepo; this.modelFactoryRegistry = modelFactoryRegistry; - this.hostProvisioner = hostProvisioner; this.zone = zone; this.clock = clock; this.configServerDB = new ConfigServerDB(configserverConfig); @@ -63,7 +58,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry { private ReloadListener reloadListener = new TenantApplicationsTest.MockReloadListener(); private final MockTenantListener tenantListener = new MockTenantListener(); 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(); @@ -77,11 +71,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry { return this; } - public Builder provisioner(Provisioner provisioner) { - this.hostProvisioner = Optional.ofNullable(provisioner); - return this; - } - public Builder zone(Zone zone) { this.zone = zone; return this; @@ -105,7 +94,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry { public TestComponentRegistry build() { return new TestComponentRegistry(modelFactoryRegistry, configserverConfig, - hostProvisioner, defRepo, reloadListener, tenantListener, @@ -125,10 +113,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry { @Override public ModelFactoryRegistry getModelFactoryRegistry() { return modelFactoryRegistry; } @Override - public Optional<Provisioner> getHostProvisioner() { - return hostProvisioner; - } - @Override public Zone getZone() { return zone; } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java index 9e21bcc315d..eb8f633f4ba 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java @@ -30,6 +30,7 @@ import com.yahoo.vespa.config.server.filedistribution.MockFileDistributionFactor import com.yahoo.vespa.config.server.http.v2.PrepareResult; 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.session.PrepareParams; import com.yahoo.vespa.config.server.session.Session; import com.yahoo.vespa.config.server.tenant.Tenant; @@ -287,14 +288,16 @@ public class DeployTester { .configServerConfig(configserverConfig) .modelFactoryRegistry(new ModelFactoryRegistry(modelFactories)) .zone(zone); - if (configserverConfig.hostedVespa()) testComponentRegistryBuilder.provisioner(provisioner); - TenantRepository tenantRepository = new TestTenantRepository.Builder() - .withComponentRegistry(testComponentRegistryBuilder.build()) + TestTenantRepository.Builder builder = new TestTenantRepository.Builder() + .withComponentRegistry(testComponentRegistryBuilder.build()) .withCurator(curator) .withMetrics(Optional.ofNullable(metrics).orElse(Metrics.createTestMetrics())) - .withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig)) - .build(); + .withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig)); + + if (configserverConfig.hostedVespa()) builder.withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, true)); + + TenantRepository tenantRepository = builder.build(); tenantRepository.addTenant(tenantName); ApplicationRepository applicationRepository = new ApplicationRepository.Builder() 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 05b09fb4204..0e0fd5babd5 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 @@ -110,17 +110,17 @@ public class ApplicationHandlerTest { .fileReferencesDir(temporaryFolder.newFolder().getAbsolutePath()) .build(); TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder() - .provisioner(provisioner) .modelFactoryRegistry(new ModelFactoryRegistry(modelFactories)) .configServerConfig(configserverConfig) .clock(clock) .build(); + provisioner = new MockProvisioner(); tenantRepository = new TestTenantRepository.Builder() .withComponentRegistry(componentRegistry) .withFileDistributionFactory(new MockFileDistributionFactory(configserverConfig)) + .withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, false)) .build(); tenantRepository.addTenant(mytenantName); - provisioner = new MockProvisioner(); orchestrator = new OrchestratorMock(); applicationRepository = new ApplicationRepository.Builder() .withTenantRepository(tenantRepository) diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java index 80ff70120c1..d32734cd571 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HttpGetConfigHandlerTest.java @@ -17,6 +17,7 @@ import com.yahoo.vespa.config.server.http.HandlerTest; import com.yahoo.vespa.config.server.http.HttpConfigRequest; import com.yahoo.vespa.config.server.http.HttpErrorResponse; import com.yahoo.vespa.config.server.http.SessionHandlerTest; +import com.yahoo.vespa.config.server.provision.HostProvisionerProvider; import com.yahoo.vespa.config.server.session.PrepareParams; import com.yahoo.vespa.config.server.tenant.TenantRepository; import com.yahoo.vespa.config.server.tenant.TestTenantRepository; @@ -67,11 +68,15 @@ public class HttpGetConfigHandlerTest { .configDefinitionRepo(new TestConfigDefinitionRepo()) .configServerConfig(configserverConfig) .build(); - TenantRepository tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(componentRegistry).build(); + MockProvisioner provisioner = new MockProvisioner(); + TenantRepository tenantRepository = new TestTenantRepository.Builder() + .withComponentRegistry(componentRegistry) + .withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, false)) + .build(); tenantRepository.addTenant(tenant); ApplicationRepository applicationRepository = new ApplicationRepository.Builder() .withTenantRepository(tenantRepository) - .withProvisioner(new MockProvisioner()) + .withProvisioner(provisioner) .withOrchestrator(new OrchestratorMock()) .withConfigserverConfig(configserverConfig) .build(); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java index 2803747bb59..3e9cbc042bd 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/maintenance/MaintainerTester.java @@ -12,6 +12,7 @@ import com.yahoo.vespa.config.server.TestComponentRegistry; import com.yahoo.vespa.config.server.application.OrchestratorMock; import com.yahoo.vespa.config.server.deploy.DeployTester; import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry; +import com.yahoo.vespa.config.server.provision.HostProvisionerProvider; import com.yahoo.vespa.config.server.session.PrepareParams; import com.yahoo.vespa.config.server.tenant.TenantRepository; import com.yahoo.vespa.config.server.tenant.TestTenantRepository; @@ -43,10 +44,12 @@ class MaintainerTester { GlobalComponentRegistry componentRegistry = new TestComponentRegistry.Builder() .clock(clock) .configServerConfig(configserverConfig) - .provisioner(provisioner) .modelFactoryRegistry(new ModelFactoryRegistry(List.of(new DeployTester.CountingModelFactory(clock)))) .build(); - tenantRepository = new TestTenantRepository.Builder().withComponentRegistry(componentRegistry).build(); + tenantRepository = new TestTenantRepository.Builder() + .withComponentRegistry(componentRegistry) + .withHostProvisionerProvider(HostProvisionerProvider.withProvisioner(provisioner, true)) + .build(); applicationRepository = new ApplicationRepository.Builder() .withTenantRepository(tenantRepository) .withProvisioner(provisioner) 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 3c44d304de5..c719efd7645 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 @@ -347,7 +347,7 @@ public class SessionPreparerTest { @Test(expected = LoadBalancerServiceException.class) public void require_that_conflict_is_returned_when_creating_load_balancer_fails() throws IOException { - preparer = createPreparer(HostProvisionerProvider.withProvisioner(new MockProvisioner().transientFailureOnPrepare())); + preparer = createPreparer(HostProvisionerProvider.withProvisioner(new MockProvisioner().transientFailureOnPrepare(), true)); var params = new PrepareParams.Builder().applicationId(applicationId("test")).build(); prepare(new File("src/test/resources/deploy/hosted-app"), params); } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java index ab6b50dce2b..c843b5f6119 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TenantRepositoryTest.java @@ -15,6 +15,7 @@ import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.Zone; import com.yahoo.vespa.config.server.GlobalComponentRegistry; +import com.yahoo.vespa.config.server.MockProvisioner; import com.yahoo.vespa.config.server.MockSecretStore; import com.yahoo.vespa.config.server.ServerCache; import com.yahoo.vespa.config.server.TestComponentRegistry; @@ -26,6 +27,7 @@ import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory; import com.yahoo.vespa.config.server.host.HostRegistry; import com.yahoo.vespa.config.server.monitoring.MetricUpdater; import com.yahoo.vespa.config.server.monitoring.Metrics; +import com.yahoo.vespa.config.server.provision.HostProvisionerProvider; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.flags.InMemoryFlagSource; @@ -215,7 +217,8 @@ public class TenantRepositoryTest { new FileDistributionFactory(new ConfigserverConfig.Builder().build()), new InMemoryFlagSource(), new InThreadExecutorService(), - new MockSecretStore()); + new MockSecretStore(), + HostProvisionerProvider.withProvisioner(new MockProvisioner(), false)); } @Override diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java index 0faae9762fa..b4922e1f163 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/TestTenantRepository.java @@ -8,6 +8,7 @@ import com.yahoo.vespa.config.server.MockSecretStore; import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory; import com.yahoo.vespa.config.server.host.HostRegistry; import com.yahoo.vespa.config.server.monitoring.Metrics; +import com.yahoo.vespa.config.server.provision.HostProvisionerProvider; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.flags.FlagSource; @@ -24,7 +25,8 @@ public class TestTenantRepository extends TenantRepository { Curator curator, Metrics metrics, FileDistributionFactory fileDistributionFactory, - FlagSource flagSource) { + FlagSource flagSource, + HostProvisionerProvider hostProvisionerProvider) { super(componentRegistry, hostRegistry, curator, @@ -33,7 +35,8 @@ public class TestTenantRepository extends TenantRepository { fileDistributionFactory, flagSource, new InThreadExecutorService(), - new MockSecretStore()); + new MockSecretStore(), + hostProvisionerProvider); } public static class Builder { @@ -44,7 +47,7 @@ public class TestTenantRepository extends TenantRepository { Metrics metrics = Metrics.createTestMetrics(); FileDistributionFactory fileDistributionFactory = null; FlagSource flagSource = new InMemoryFlagSource(); - + HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.empty(); public Builder withFlagSource(FlagSource flagSource) { this.flagSource = flagSource; @@ -76,6 +79,11 @@ public class TestTenantRepository extends TenantRepository { return this; } + public Builder withHostProvisionerProvider(HostProvisionerProvider hostProvisionerProvider) { + this.hostProvisionerProvider = hostProvisionerProvider; + return this; + } + public TenantRepository build() { if (fileDistributionFactory == null) fileDistributionFactory = new FileDistributionFactory(componentRegistry.getConfigserverConfig()); @@ -84,7 +92,8 @@ public class TestTenantRepository extends TenantRepository { curator, metrics, fileDistributionFactory, - flagSource); + flagSource, + hostProvisionerProvider); } } |