summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-01-15 13:00:03 +0100
committerHarald Musum <musum@verizonmedia.com>2021-01-15 13:00:03 +0100
commit8d09070c5b90cf905ed40bfe14c0a7686bde57be (patch)
tree45666081dd9e9bbbfda7c9b7b4da0adff497f8cd /configserver
parent64fea8b24850f7e9da3ac39fb6e5e629dbcd38ae (diff)
Move PermanentApplicationPackage out of GlobalComponentRegistry
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java9
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java7
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistryTest.java12
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java11
8 files changed, 19 insertions, 33 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
index 6dd1d1eedd5..94e4255168e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/GlobalComponentRegistry.java
@@ -26,7 +26,6 @@ public interface GlobalComponentRegistry {
TenantListener getTenantListener();
ReloadListener getReloadListener();
ConfigDefinitionRepo getStaticConfigDefinitionRepo();
- PermanentApplicationPackage getPermanentApplicationPackage();
ModelFactoryRegistry getModelFactoryRegistry();
Optional<Provisioner> getHostProvisioner();
Zone getZone();
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java b/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
index 0103362e244..f7e24423490 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/InjectedGlobalComponentRegistry.java
@@ -8,7 +8,6 @@ import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.Provisioner;
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.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.provision.HostProvisionerProvider;
import com.yahoo.vespa.config.server.rpc.RpcServer;
@@ -32,7 +31,6 @@ public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry
private final RpcServer rpcServer;
private final ConfigserverConfig configserverConfig;
private final ConfigDefinitionRepo staticConfigDefinitionRepo;
- private final PermanentApplicationPackage permanentApplicationPackage;
private final Optional<Provisioner> hostProvisioner;
private final Zone zone;
private final ConfigServerDB configServerDB;
@@ -46,7 +44,6 @@ public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry
RpcServer rpcServer,
ConfigserverConfig configserverConfig,
ConfigDefinitionRepo staticConfigDefinitionRepo,
- PermanentApplicationPackage permanentApplicationPackage,
HostProvisionerProvider hostProvisionerProvider,
Zone zone,
ConfigServerDB configServerDB,
@@ -56,7 +53,6 @@ public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry
this.rpcServer = rpcServer;
this.configserverConfig = configserverConfig;
this.staticConfigDefinitionRepo = staticConfigDefinitionRepo;
- this.permanentApplicationPackage = permanentApplicationPackage;
this.hostProvisioner = hostProvisionerProvider.getHostProvisioner();
this.zone = zone;
this.configServerDB = configServerDB;
@@ -74,8 +70,6 @@ public class InjectedGlobalComponentRegistry implements GlobalComponentRegistry
@Override
public ConfigDefinitionRepo getStaticConfigDefinitionRepo() { return staticConfigDefinitionRepo; }
@Override
- public PermanentApplicationPackage getPermanentApplicationPackage() { return permanentApplicationPackage; }
- @Override
public ModelFactoryRegistry getModelFactoryRegistry() { return modelFactoryRegistry; }
@Override
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
index 8f547c5220e..4854bfd5f15 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
@@ -67,7 +67,8 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
Optional<ApplicationSet> currentActiveApplicationSet,
GlobalComponentRegistry globalComponentRegistry,
Curator curator,
- Metrics metrics) {
+ Metrics metrics,
+ PermanentApplicationPackage permanentApplicationPackage) {
super(globalComponentRegistry.getModelFactoryRegistry(),
globalComponentRegistry.getConfigserverConfig(),
globalComponentRegistry.getZone(),
@@ -76,7 +77,7 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
this.applicationGeneration = applicationGeneration;
this.zkClient = zkClient;
this.currentActiveApplicationSet = currentActiveApplicationSet;
- this.permanentApplicationPackage = globalComponentRegistry.getPermanentApplicationPackage();
+ this.permanentApplicationPackage = permanentApplicationPackage;
this.configDefinitionRepo = globalComponentRegistry.getStaticConfigDefinitionRepo();
this.metrics = metrics;
this.curator = curator;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
index d89c943366f..c244274c49f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
@@ -2,7 +2,6 @@
package com.yahoo.vespa.config.server.session;
import com.google.common.util.concurrent.UncheckedTimeoutException;
-import com.google.inject.Inject;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.component.Version;
import com.yahoo.component.Vtag;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index be048633bca..7603edeb4d4 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -21,6 +21,7 @@ import com.yahoo.transaction.Transaction;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
import com.yahoo.vespa.config.server.TimeoutBudget;
import com.yahoo.vespa.config.server.application.ApplicationSet;
+import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.application.TenantApplications;
import com.yahoo.vespa.config.server.configchange.ConfigChangeActions;
import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
@@ -82,6 +83,7 @@ public class SessionRepository {
private final Clock clock;
private final Curator curator;
private final Executor zkWatcherExecutor;
+ private final PermanentApplicationPackage permanentApplicationPackage;
private final TenantFileSystemDirs tenantFileSystemDirs;
private final Metrics metrics;
private final MetricUpdater metricUpdater;
@@ -100,7 +102,8 @@ public class SessionRepository {
SessionPreparer sessionPreparer,
Curator curator,
Metrics metrics,
- StripedExecutor<TenantName> zkWatcherExecutor) {
+ StripedExecutor<TenantName> zkWatcherExecutor,
+ PermanentApplicationPackage permanentApplicationPackage) {
this.tenantName = tenantName;
this.componentRegistry = componentRegistry;
this.configCurator = ConfigCurator.create(curator);
@@ -110,6 +113,7 @@ public class SessionRepository {
this.curator = curator;
this.sessionLifetime = Duration.ofSeconds(componentRegistry.getConfigserverConfig().sessionLifetime());
this.zkWatcherExecutor = command -> zkWatcherExecutor.execute(tenantName, command);
+ this.permanentApplicationPackage = permanentApplicationPackage;
this.tenantFileSystemDirs = new TenantFileSystemDirs(componentRegistry.getConfigServerDB(), tenantName);
this.applicationRepo = applicationRepo;
this.sessionPreparer = sessionPreparer;
@@ -435,7 +439,8 @@ public class SessionRepository {
previousApplicationSet,
componentRegistry,
curator,
- metrics);
+ metrics,
+ permanentApplicationPackage);
// Read hosts allocated on the config server instance which created this
SettableOptional<AllocatedHosts> allocatedHosts = new SettableOptional<>(applicationPackage.getAllocatedHosts());
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
index a2f39b5a20a..691327fe316 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/TenantRepository.java
@@ -13,6 +13,7 @@ import com.yahoo.path.Path;
import com.yahoo.text.Utf8;
import com.yahoo.transaction.Transaction;
import com.yahoo.vespa.config.server.GlobalComponentRegistry;
+import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.application.TenantApplications;
import com.yahoo.vespa.config.server.deploy.TenantFileSystemDirs;
import com.yahoo.vespa.config.server.filedistribution.FileDistributionFactory;
@@ -283,10 +284,11 @@ public class TenantRepository {
hostRegistry,
new TenantFileSystemDirs(componentRegistry.getConfigServerDB(), tenantName),
componentRegistry.getClock());
+ PermanentApplicationPackage permanentApplicationPackage = new PermanentApplicationPackage(componentRegistry.getConfigserverConfig());
SessionPreparer sessionPreparer = new SessionPreparer(componentRegistry.getModelFactoryRegistry(),
fileDistributionFactory,
HostProvisionerProvider.from(componentRegistry.getHostProvisioner()),
- componentRegistry.getPermanentApplicationPackage(),
+ permanentApplicationPackage,
componentRegistry.getConfigserverConfig(),
componentRegistry.getStaticConfigDefinitionRepo(),
curator,
@@ -299,7 +301,8 @@ public class TenantRepository {
sessionPreparer,
curator,
metrics,
- zkWatcherExecutor);
+ zkWatcherExecutor,
+ permanentApplicationPackage);
log.log(Level.INFO, "Adding tenant '" + tenantName + "'" + ", created " + created);
Tenant tenant = new Tenant(tenantName, sessionRepository, applicationRepo, applicationRepo, created);
notifyNewTenant(tenant);
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 6b92e4f72f3..4a914a7e84f 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
@@ -5,7 +5,6 @@ import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.model.NullConfigModelRegistry;
import com.yahoo.config.model.api.ConfigDefinitionRepo;
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;
@@ -23,7 +22,7 @@ import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import java.io.IOException;
-import java.util.Collections;
+import java.util.List;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
@@ -37,7 +36,6 @@ public class InjectedGlobalComponentRegistryTest {
private ConfigserverConfig configserverConfig;
private RpcServer rpcServer;
private ConfigDefinitionRepo defRepo;
- private PermanentApplicationPackage permanentApplicationPackage;
private GlobalComponentRegistry globalComponentRegistry;
private ModelFactoryRegistry modelFactoryRegistry;
private Zone zone;
@@ -47,7 +45,7 @@ public class InjectedGlobalComponentRegistryTest {
@Before
public void setupRegistry() throws IOException {
- modelFactoryRegistry = new ModelFactoryRegistry(Collections.singletonList(new VespaModelFactory(new NullConfigModelRegistry())));
+ modelFactoryRegistry = new ModelFactoryRegistry(List.of(new VespaModelFactory(new NullConfigModelRegistry())));
configserverConfig = new ConfigserverConfig(
new ConfigserverConfig.Builder()
.configServerDBDir(temporaryFolder.newFolder("serverdb").getAbsolutePath())
@@ -58,12 +56,11 @@ public class InjectedGlobalComponentRegistryTest {
new FileServer(temporaryFolder.newFolder("filereferences")),
new NoopRpcAuthorizer(), new RpcRequestHandlerProvider());
defRepo = new StaticConfigDefinitionRepo();
- permanentApplicationPackage = new PermanentApplicationPackage(configserverConfig);
HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.withProvisioner(new MockProvisioner());
zone = Zone.defaultZone();
globalComponentRegistry =
new InjectedGlobalComponentRegistry(modelFactoryRegistry, rpcServer, configserverConfig, defRepo,
- permanentApplicationPackage, hostProvisionerProvider, zone,
+ hostProvisionerProvider, zone,
new ConfigServerDB(configserverConfig), new InMemoryFlagSource(),
new MockSecretStore());
}
@@ -75,8 +72,7 @@ public class InjectedGlobalComponentRegistryTest {
assertThat(globalComponentRegistry.getReloadListener().hashCode(), is(rpcServer.hashCode()));
assertThat(globalComponentRegistry.getTenantListener().hashCode(), is(rpcServer.hashCode()));
assertThat(globalComponentRegistry.getStaticConfigDefinitionRepo(), is(defRepo));
- assertThat(globalComponentRegistry.getPermanentApplicationPackage(), is(permanentApplicationPackage));
- assertThat(globalComponentRegistry.getZone(), is (zone));
+ 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 9cc9202791f..733b806dfe2 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
@@ -8,9 +8,7 @@ import com.yahoo.config.model.api.ConfigDefinitionRepo;
import com.yahoo.config.provision.Provisioner;
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.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.tenant.MockTenantListener;
import com.yahoo.vespa.config.server.tenant.TenantListener;
@@ -35,7 +33,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private final ConfigDefinitionRepo defRepo;
private final ReloadListener reloadListener;
private final TenantListener tenantListener;
- private final PermanentApplicationPackage permanentApplicationPackage;
private final ModelFactoryRegistry modelFactoryRegistry;
private final Optional<Provisioner> hostProvisioner;
private final Zone zone;
@@ -46,7 +43,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private final FlagSource flagSource;
private TestComponentRegistry(ModelFactoryRegistry modelFactoryRegistry,
- PermanentApplicationPackage permanentApplicationPackage,
ConfigserverConfig configserverConfig,
Optional<Provisioner> hostProvisioner,
ConfigDefinitionRepo defRepo,
@@ -60,7 +56,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
this.reloadListener = reloadListener;
this.tenantListener = tenantListener;
this.defRepo = defRepo;
- this.permanentApplicationPackage = permanentApplicationPackage;
this.modelFactoryRegistry = modelFactoryRegistry;
this.hostProvisioner = hostProvisioner;
this.zone = zone;
@@ -80,7 +75,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private ConfigDefinitionRepo defRepo = new StaticConfigDefinitionRepo();
private ReloadListener reloadListener = new TenantApplicationsTest.MockReloadListener();
private final MockTenantListener tenantListener = new MockTenantListener();
- 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();
@@ -128,11 +122,8 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
}
public TestComponentRegistry build() {
- final PermanentApplicationPackage permApp = Optional.<PermanentApplicationPackage>empty()
- .orElse(new PermanentApplicationPackage(configserverConfig));
SecretStore secretStore = new MockSecretStore();
return new TestComponentRegistry(modelFactoryRegistry,
- permApp,
configserverConfig,
hostProvisioner,
defRepo,
@@ -154,8 +145,6 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
@Override
public ConfigDefinitionRepo getStaticConfigDefinitionRepo() { return defRepo; }
@Override
- public PermanentApplicationPackage getPermanentApplicationPackage() { return permanentApplicationPackage; }
- @Override
public ModelFactoryRegistry getModelFactoryRegistry() { return modelFactoryRegistry; }
@Override
public Optional<Provisioner> getHostProvisioner() {