aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHÃ¥kon Hallingstad <hakon@oath.com>2017-11-01 09:07:23 +0100
committerGitHub <noreply@github.com>2017-11-01 09:07:23 +0100
commitc4e121b78594bb81f894fcfff1cb1ab4b4b8edcb (patch)
treebdd9291916b5da8898cb55ca3846bd3d96f3ecdf
parent4df7c5ccc390a4082f0321855039a6763ef31708 (diff)
parent3524bba5c95b3b1bc8fa96fc1245dc23da846940 (diff)
Merge pull request #3958 from vespa-engine/hmusum/throw-if-configserverdefinitions-and-serverdbdir-are-equal
Validate configserver directories structure
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ConfigServerDB.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/TestComponentRegistry.java8
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackageTest.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java5
4 files changed, 14 insertions, 10 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 03b1635951d..33718774228 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
@@ -26,6 +26,9 @@ public class ConfigServerDB {
private final ConfigserverConfig configserverConfig;
public ConfigServerDB(ConfigserverConfig configserverConfig) {
+ if (configserverConfig.configDefinitionsDir().equals(configserverConfig.configServerDBDir()))
+ throw new IllegalArgumentException("configDefinitionsDir and configServerDBDir cannot be equal ('" +
+ configserverConfig.configDefinitionsDir() + "')");
this.configserverConfig = configserverConfig;
this.serverDB = new File(Defaults.getDefaults().underVespaHome(configserverConfig.configServerDBDir()));
createDirectory(serverdefs());
@@ -63,7 +66,7 @@ public class ConfigServerDB {
private void initialize(List<String> pluginDirectories) throws IOException {
IOUtils.recursiveDeleteDir(serverdefs());
- IOUtils.copyDirectory(classes(), serverdefs());
+ IOUtils.copyDirectory(classes(), serverdefs(), 1);
ConfigDefinitionDir configDefinitionDir = new ConfigDefinitionDir(serverdefs());
ArrayList<Bundle> bundles = new ArrayList<>();
for (String pluginDirectory : pluginDirectories) {
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 2b5aeaeab15..faf310f9106 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,10 +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(configserverTempDir)
- .configDefinitionsDir(configserverTempDir));
+ private ConfigserverConfig configserverConfig = new ConfigserverConfig(
+ new ConfigserverConfig.Builder()
+ .configServerDBDir(Files.createTempDir().getAbsolutePath())
+ .configDefinitionsDir(Files.createTempDir().getAbsolutePath()));
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/application/PermanentApplicationPackageTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackageTest.java
index 0798983bd0d..950067a556b 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackageTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/application/PermanentApplicationPackageTest.java
@@ -19,7 +19,8 @@ import static org.junit.Assert.assertTrue;
public class PermanentApplicationPackageTest {
@Test
public void testNonexistingApplication() {
- PermanentApplicationPackage permanentApplicationPackage = new PermanentApplicationPackage(new ConfigserverConfig(new ConfigserverConfig.Builder().applicationDirectory("_no_such_dir")));
+ PermanentApplicationPackage permanentApplicationPackage = new PermanentApplicationPackage(
+ new ConfigserverConfig(new ConfigserverConfig.Builder().applicationDirectory("_no_such_dir")));
assertFalse(permanentApplicationPackage.applicationPackage().isPresent());
}
@@ -29,7 +30,8 @@ public class PermanentApplicationPackageTest {
@Test
public void testExistingApplication() throws IOException {
File tmpDir = folder.newFolder();
- PermanentApplicationPackage permanentApplicationPackage = new PermanentApplicationPackage(new ConfigserverConfig(new ConfigserverConfig.Builder().applicationDirectory(tmpDir.getAbsolutePath())));
+ PermanentApplicationPackage permanentApplicationPackage = new PermanentApplicationPackage(
+ new ConfigserverConfig(new ConfigserverConfig.Builder().applicationDirectory(tmpDir.getAbsolutePath())));
assertTrue(permanentApplicationPackage.applicationPackage().isPresent());
}
}
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 a3aa1df050e..e4b498242c1 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,10 +126,9 @@ public class HostedDeployTest {
}
private static ConfigserverConfig createConfigserverConfig() {
- String tempDir = Files.createTempDir().getAbsolutePath();
return new ConfigserverConfig(new ConfigserverConfig.Builder()
- .configServerDBDir(tempDir)
- .configDefinitionsDir(tempDir)
+ .configServerDBDir(Files.createTempDir().getAbsolutePath())
+ .configDefinitionsDir(Files.createTempDir().getAbsolutePath())
.dockerRegistry(dockerRegistry)
.dockerVespaBaseImage(dockerVespaBaseImage)
.hostedVespa(true)