From b666cdcc654ac88663ba88cd9b259fafff9ea686 Mon Sep 17 00:00:00 2001 From: Geir Storli Date: Tue, 24 Oct 2017 15:30:27 +0200 Subject: Activate disk usage sampling for docker nodes that have shared disk. --- .../com/yahoo/vespa/model/search/NodeFlavorTuning.java | 1 + .../yahoo/vespa/model/search/NodeFlavorTuningTest.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+) (limited to 'config-model') 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))); -- cgit v1.2.3