summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2017-10-18 15:59:53 +0200
committerHarald Musum <musum@oath.com>2017-10-18 15:59:53 +0200
commitb107cc076d8967d7d20ac687d30390e89beda083 (patch)
treea4bc6f2ed18a84878800b561531aa7ee2e75dcd1 /configserver
parent391c2957ce6f450cfdd5684018dde4e222d6b848 (diff)
Use config definitions from a configured directory
* By default use config definitions from share/vespa/configdefinitions * Remove creation of classes/ (not needed) and vespaapps/ (not used) * This is a preparation for moving .def files to share/vespa/configdefinitions (today that is a symlink to var/db/vespa/config_server/serverdb/classes)
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java25
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/TenantFileSystemDirs.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerDBTest.java12
-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.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/RedeployTest.java2
8 files changed, 34 insertions, 33 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java
index 7e6327075ac..03b1635951d 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java
@@ -28,7 +28,7 @@ public class ConfigServerDB {
public ConfigServerDB(ConfigserverConfig configserverConfig) {
this.configserverConfig = configserverConfig;
this.serverDB = new File(Defaults.getDefaults().underVespaHome(configserverConfig.configServerDBDir()));
- create();
+ createDirectory(serverdefs());
try {
initialize(configserverConfig.configModelPluginDir());
} catch (IllegalArgumentException e) {
@@ -38,25 +38,18 @@ public class ConfigServerDB {
}
}
- public static ConfigServerDB createTestConfigServerDb(String dir) {
- return new ConfigServerDB(new ConfigserverConfig(new ConfigserverConfig.Builder().configServerDBDir(dir)));
+ public static ConfigServerDB createTestConfigServerDb(String dbDir, String definitionsDir) {
+ return new ConfigServerDB(new ConfigserverConfig(new ConfigserverConfig.Builder()
+ .configServerDBDir(dbDir)
+ .configDefinitionsDir(definitionsDir)));
}
- public File classes() { return new File(serverDB, "classes"); }
- public File vespaapps() { return new File(serverDB, "vespaapps"); }
- public File serverdefs() { return new File(serverDB, "serverdefs"); }
-
+ // The config definitions shipped with Vespa
+ public File classes() { return new File(Defaults.getDefaults().underVespaHome(configserverConfig.configDefinitionsDir()));}
- /**
- * Creates all the config server db's dirs that are global.
- */
- public void create() {
- cr(classes());
- cr(vespaapps());
- cr(serverdefs());
- }
+ public File serverdefs() { return new File(serverDB, "serverdefs"); }
- public static void cr(File d) {
+ public static void createDirectory(File d) {
if (d.exists()) {
if (!d.isDirectory()) {
throw new IllegalArgumentException(d.getAbsolutePath() + " exists, but isn't a directory.");
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/TenantFileSystemDirs.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/TenantFileSystemDirs.java
index 87942ee8cf6..93a6d8c7ca3 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/TenantFileSystemDirs.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/TenantFileSystemDirs.java
@@ -22,7 +22,7 @@ public class TenantFileSystemDirs {
public TenantFileSystemDirs(File dir, TenantName tenant) {
this.serverDB = dir;
this.tenant = tenant;
- ConfigServerDB.cr(path());
+ ConfigServerDB.createDirectory(path());
}
public static TenantFileSystemDirs createTestDirs(TenantName tenantName) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerDBTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerDBTest.java
index 60fe3431535..c34f6512f29 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerDBTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ConfigServerDBTest.java
@@ -18,18 +18,20 @@ import static org.junit.Assert.assertThat;
*/
public class ConfigServerDBTest {
private ConfigServerDB serverDB;
- private File tempDir;
+ private File dbDir;
+ private File definitionsDir;
@Before
public void setup() {
- tempDir = Files.createTempDir();
- serverDB = ConfigServerDB.createTestConfigServerDb(tempDir.getAbsolutePath());
+ dbDir = Files.createTempDir();
+ definitionsDir = Files.createTempDir();
+ serverDB = ConfigServerDB.createTestConfigServerDb(dbDir.getAbsolutePath(), definitionsDir.getAbsolutePath());
}
- private ConfigServerDB createInitializer() throws IOException {
+ private void createInitializer() throws IOException {
File existingDef = new File(serverDB.classes(), "test.def");
IOUtils.writeFile(existingDef, "hello", false);
- return ConfigServerDB.createTestConfigServerDb(tempDir.getAbsolutePath());
+ ConfigServerDB.createTestConfigServerDb(dbDir.getAbsolutePath(), definitionsDir.getAbsolutePath());
}
@Test
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 1f6744dcad7..3efad7ac133 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
@@ -10,7 +10,6 @@ import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
import com.yahoo.vespa.config.server.host.ConfigRequestHostLivenessTracker;
import com.yahoo.vespa.config.server.host.HostRegistries;
import com.yahoo.vespa.config.server.http.SessionHandlerTest;
-import com.yahoo.vespa.config.server.http.v2.SessionActiveHandlerTest;
import com.yahoo.vespa.config.server.modelfactory.ModelFactoryRegistry;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.provision.HostProvisionerProvider;
@@ -36,7 +35,6 @@ import static org.junit.Assert.assertTrue;
public class InjectedGlobalComponentRegistryTest {
private Curator curator;
- private ConfigCurator configCurator;
private Metrics metrics;
private ConfigServerDB serverDB;
private SessionPreparer sessionPreparer;
@@ -48,16 +46,18 @@ public class InjectedGlobalComponentRegistryTest {
private HostRegistries hostRegistries;
private GlobalComponentRegistry globalComponentRegistry;
private ModelFactoryRegistry modelFactoryRegistry;
- private HostProvisionerProvider hostProvisionerProvider;
private Zone zone;
@Before
public void setupRegistry() {
curator = new MockCurator();
- configCurator = ConfigCurator.create(curator);
+ ConfigCurator configCurator = ConfigCurator.create(curator);
metrics = Metrics.createTestMetrics();
modelFactoryRegistry = new ModelFactoryRegistry(Collections.singletonList(new VespaModelFactory(new NullConfigModelRegistry())));
- configserverConfig = new ConfigserverConfig(new ConfigserverConfig.Builder().configServerDBDir(Files.createTempDir().getAbsolutePath()));
+ configserverConfig = new ConfigserverConfig(
+ new ConfigserverConfig.Builder()
+ .configServerDBDir(Files.createTempDir().getAbsolutePath())
+ .configDefinitionsDir(Files.createTempDir().getAbsolutePath()));
serverDB = new ConfigServerDB(configserverConfig);
sessionPreparer = new SessionTest.MockSessionPreparer();
rpcServer = new RpcServer(configserverConfig, null, Metrics.createTestMetrics(),
@@ -66,7 +66,7 @@ public class InjectedGlobalComponentRegistryTest {
defRepo = new StaticConfigDefinitionRepo();
permanentApplicationPackage = new PermanentApplicationPackage(configserverConfig);
hostRegistries = new HostRegistries();
- hostProvisionerProvider = HostProvisionerProvider.withProvisioner(new SessionHandlerTest.MockProvisioner());
+ HostProvisionerProvider hostProvisionerProvider = HostProvisionerProvider.withProvisioner(new SessionHandlerTest.MockProvisioner());
zone = Zone.defaultZone();
globalComponentRegistry = new InjectedGlobalComponentRegistry(curator, configCurator, metrics, modelFactoryRegistry, serverDB, sessionPreparer, rpcServer, configserverConfig, generationCounter, defRepo, permanentApplicationPackage, hostRegistries, hostProvisionerProvider, zone);
}
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 816618c3d28..2b5aeaeab15 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
@@ -89,9 +89,10 @@ public class TestComponentRegistry implements GlobalComponentRegistry {
private Curator curator = new MockCurator();
private Optional<ConfigCurator> configCurator = Optional.empty();
private Metrics metrics = Metrics.createTestMetrics();
+ private String configserverTempDir = Files.createTempDir().getAbsolutePath();
private ConfigserverConfig configserverConfig = new ConfigserverConfig(new ConfigserverConfig.Builder()
- .configServerDBDir(Files.createTempDir()
- .getAbsolutePath()));
+ .configServerDBDir(configserverTempDir)
+ .configDefinitionsDir(configserverTempDir));
private ConfigDefinitionRepo defRepo = new StaticConfigDefinitionRepo();
private TenantRequestHandlerTest.MockReloadListener reloadListener = new TenantRequestHandlerTest.MockReloadListener();
private MockTenantListener tenantListener = new MockTenantListener();
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 8a60a439943..b3c76178259 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
@@ -71,7 +71,9 @@ public class DeployTester {
public DeployTester(String appPath, List<ModelFactory> modelFactories) {
this(appPath, modelFactories, new ConfigserverConfig(new ConfigserverConfig.Builder()
.configServerDBDir(Files.createTempDir()
- .getAbsolutePath())),
+ .getAbsolutePath())
+ .configDefinitionsDir(Files.createTempDir()
+ .getAbsolutePath())),
Clock.systemUTC());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
index 301ae63fb8c..a3aa1df050e 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
@@ -126,9 +126,10 @@ public class HostedDeployTest {
}
private static ConfigserverConfig createConfigserverConfig() {
+ String tempDir = Files.createTempDir().getAbsolutePath();
return new ConfigserverConfig(new ConfigserverConfig.Builder()
- .configServerDBDir(Files.createTempDir()
- .getAbsolutePath())
+ .configServerDBDir(tempDir)
+ .configDefinitionsDir(tempDir)
.dockerRegistry(dockerRegistry)
.dockerVespaBaseImage(dockerVespaBaseImage)
.hostedVespa(true)
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/RedeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/RedeployTest.java
index 82696179dae..21d8fcb5569 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/RedeployTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/RedeployTest.java
@@ -72,6 +72,8 @@ public class RedeployTest {
ConfigserverConfig configserverConfig = new ConfigserverConfig(new ConfigserverConfig.Builder()
.configServerDBDir(Files.createTempDir()
.getAbsolutePath())
+ .configDefinitionsDir(Files.createTempDir()
+ .getAbsolutePath())
.sessionLifetime(60));
DeployTester tester = new DeployTester("src/test/apps/app", configserverConfig, clock);
tester.deployApp("myapp", Instant.now()); // session 2 (numbering starts at 2)