summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-10-22 13:36:49 +0200
committerGitHub <noreply@github.com>2020-10-22 13:36:49 +0200
commit3ed6e4c013e6b6a6290d52dd75b15c67d0299f6d (patch)
tree927e1985d1ff31c07ebaaef71226f0a95eb47734 /node-repository
parent001b0d91959381cff71ac1dcf0fd2baff7d023a9 (diff)
parent5f502286dc936755beea0efa1f48c04bf1943b8b (diff)
Merge pull request #15000 from vespa-engine/hmusum/update-with-new-thin-pool-sizes
Update with new thin pool sizes
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java33
1 files changed, 17 insertions, 16 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java
index ad892054836..3d5cde35bf6 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeResourceLimits.java
@@ -1,4 +1,4 @@
-// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.provisioning;
import com.yahoo.config.provision.ClusterSpec;
@@ -28,8 +28,8 @@ public class NodeResourceLimits {
public void ensureWithinAdvertisedLimits(String type, NodeResources requested, ClusterSpec cluster) {
if (requested.isUnspecified()) return;
- if (requested.vcpu() < minAdvertisedVcpu(cluster.type()))
- illegal(type, "vcpu", "", cluster, requested.vcpu(), minAdvertisedVcpu(cluster.type()));
+ if (requested.vcpu() < minAdvertisedVcpu())
+ illegal(type, "vcpu", "", cluster, requested.vcpu(), minAdvertisedVcpu());
if (requested.memoryGb() < minAdvertisedMemoryGb(cluster.type()))
illegal(type, "memoryGb", "Gb", cluster, requested.memoryGb(), minAdvertisedMemoryGb(cluster.type()));
if (requested.diskGb() < minAdvertisedDiskGb(requested))
@@ -46,7 +46,7 @@ public class NodeResourceLimits {
public boolean isWithinRealLimits(NodeResources realResources, ClusterSpec.Type clusterType) {
if (realResources.isUnspecified()) return true;
- if (realResources.vcpu() < minRealVcpu(clusterType)) return false;
+ if (realResources.vcpu() < minRealVcpu()) return false;
if (realResources.memoryGb() < minRealMemoryGb(clusterType)) return false;
if (realResources.diskGb() < minRealDiskGb()) return false;
return true;
@@ -55,12 +55,12 @@ public class NodeResourceLimits {
public NodeResources enlargeToLegal(NodeResources requested, ClusterSpec.Type clusterType) {
if (requested.isUnspecified()) return requested;
- return requested.withVcpu(Math.max(minAdvertisedVcpu(clusterType), requested.vcpu()))
+ return requested.withVcpu(Math.max(minAdvertisedVcpu(), requested.vcpu()))
.withMemoryGb(Math.max(minAdvertisedMemoryGb(clusterType), requested.memoryGb()))
.withDiskGb(Math.max(minAdvertisedDiskGb(requested), requested.diskGb()));
}
- private double minAdvertisedVcpu(ClusterSpec.Type clusterType) {
+ private double minAdvertisedVcpu() {
if (zone().environment() == Environment.dev && !zone().getCloud().dynamicProvisioning()) return 0.1;
return 0.5;
}
@@ -72,26 +72,27 @@ public class NodeResourceLimits {
}
private double minAdvertisedDiskGb(NodeResources requested) {
- if (requested.storageType() == NodeResources.StorageType.local && zone().getCloud().dynamicProvisioning()) {
+ return minRealDiskGb() + getThinPoolSize(requested.storageType());
+ }
+
+ // TODO: Calculate thin pool size instead of hardcoding
+ private long getThinPoolSize(NodeResources.StorageType storageType) {
+ if (storageType == NodeResources.StorageType.local && zone().getCloud().dynamicProvisioning()) {
if (zone().system() == SystemName.Public)
- return 10 + minRealDiskGb();
+ return 12;
else
- return 55 + minRealDiskGb();
+ return 24;
}
- return 4 + minRealDiskGb();
+ return 4;
}
- private double minRealVcpu(ClusterSpec.Type clusterType) {
- return minAdvertisedVcpu(clusterType);
- }
+ private double minRealVcpu() { return minAdvertisedVcpu(); }
private double minRealMemoryGb(ClusterSpec.Type clusterType) {
return minAdvertisedMemoryGb(clusterType) - 1.7;
}
- private double minRealDiskGb() {
- return 6;
- }
+ private double minRealDiskGb() { return 6; }
private Zone zone() { return nodeRepository.zone(); }