summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2017-10-24 15:30:27 +0200
committerGeir Storli <geirst@oath.com>2017-10-24 15:30:27 +0200
commitb666cdcc654ac88663ba88cd9b259fafff9ea686 (patch)
tree10bfdda251f7a40f5797e88ea8792c3db237977f /config-model
parentc668472b01ea333135a5c09300f8816d9d774cc2 (diff)
Activate disk usage sampling for docker nodes that have shared disk.
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java1
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java15
2 files changed, 16 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java
index ff09da17af8..e4806cb2353 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java
@@ -34,6 +34,7 @@ public class NodeFlavorTuning implements ProtonConfig.Producer {
private void setHwInfo(ProtonConfig.Builder builder) {
builder.hwinfo.disk.size((long)nodeFlavor.getMinDiskAvailableGb() * GB);
+ builder.hwinfo.disk.shared(nodeFlavor.getType().equals(Flavor.Type.DOCKER_CONTAINER));
builder.hwinfo.memory.size((long)nodeFlavor.getMinMainMemoryAvailableGb() * GB);
builder.hwinfo.cpu.cores((int)nodeFlavor.getMinCpuCores());
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java
index db6e3c7605f..3d62670bb52 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java
@@ -86,6 +86,12 @@ public class NodeFlavorTuningTest {
assertSummaryReadIo(ProtonConfig.Summary.Read.Io.MMAP, false);
}
+ @Test
+ public void require_that_docker_node_is_tagged_with_shared_disk() {
+ assertSharedDisk(true, true);
+ assertSharedDisk(false, false);
+ }
+
private static void assertDocumentStoreMaxFileSize(long expFileSizeBytes, int memoryGb) {
assertEquals(expFileSizeBytes, configFromMemorySetting(memoryGb).summary().log().maxfilesize());
}
@@ -103,6 +109,10 @@ public class NodeFlavorTuningTest {
assertEquals(expValue, configFromDiskSetting(fastDisk).summary().read().io());
}
+ private static void assertSharedDisk(boolean sharedDisk, boolean docker) {
+ assertEquals(sharedDisk, configFromEnvironmentType(docker).hwinfo().disk().shared());
+ }
+
private static ProtonConfig configFromDiskSetting(boolean fastDisk) {
return getConfig(new FlavorsConfig.Flavor.Builder().
fastDisk(fastDisk));
@@ -122,6 +132,11 @@ public class NodeFlavorTuningTest {
return getConfig(new FlavorsConfig.Flavor.Builder().minCpuCores(numCores));
}
+ private static ProtonConfig configFromEnvironmentType(boolean docker) {
+ String environment = (docker ? "DOCKER_CONTAINER" : "undefined");
+ return getConfig(new FlavorsConfig.Flavor.Builder().environment(environment));
+ }
+
private static ProtonConfig getConfig(FlavorsConfig.Flavor.Builder flavorBuilder) {
flavorBuilder.name("my_flavor");
NodeFlavorTuning tuning = new NodeFlavorTuning(new Flavor(new FlavorsConfig.Flavor(flavorBuilder)));