summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2017-09-15 14:23:05 +0200
committerGeir Storli <geirst@oath.com>2017-09-15 14:23:05 +0200
commitc36691c8aa2f6423624ad4c07662f5df248a8840 (patch)
tree237564bc399e6aa6661ec12b6286055608737e97
parentd4f89adb4beaf09c8aecfd5a6ba1e4d459ce119e (diff)
Set hwinfo in proton config based on node flavor.
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/NodeFlavorTuning.java6
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/search/NodeFlavorTuningTest.java12
2 files changed, 18 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 530a044d61c..5750db08178 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
@@ -24,6 +24,7 @@ public class NodeFlavorTuning implements ProtonConfig.Producer {
@Override
public void getConfig(ProtonConfig.Builder builder) {
+ setHwInfo(builder);
tuneDiskWriteSpeed(builder);
tuneDocumentStoreMaxFileSize(builder.summary.log);
tuneDocumentStoreNumThreads(builder.summary.log);
@@ -31,6 +32,11 @@ public class NodeFlavorTuning implements ProtonConfig.Producer {
tuneFlushStrategyTlsSize(builder.flush.memory);
}
+ private void setHwInfo(ProtonConfig.Builder builder) {
+ builder.hwinfo.disk.size((long)nodeFlavor.getMinDiskAvailableGb() * GB);
+ builder.hwinfo.memory.size((long)nodeFlavor.getMinMainMemoryAvailableGb() * GB);
+ }
+
private void tuneDiskWriteSpeed(ProtonConfig.Builder builder) {
if (!nodeFlavor.hasFastDisk()) {
builder.hwinfo.disk.writespeed(40);
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 9f556774079..0e1ad92c70d 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
@@ -16,6 +16,18 @@ import static com.yahoo.vespa.model.search.NodeFlavorTuning.GB;
public class NodeFlavorTuningTest {
@Test
+ public void require_that_hwinfo_disk_size_is_set() {
+ ProtonConfig cfg = configFromDiskSetting(100);
+ assertEquals(100 * GB, cfg.hwinfo().disk().size());
+ }
+
+ @Test
+ public void require_that_hwinfo_memory_size_is_set() {
+ ProtonConfig cfg = configFromMemorySetting(24);
+ assertEquals(24 * GB, cfg.hwinfo().memory().size());
+ }
+
+ @Test
public void require_that_fast_disk_is_reflected_in_proton_config() {
ProtonConfig cfg = configFromDiskSetting(true);
assertEquals(200, cfg.hwinfo().disk().writespeed(), 0.001);