summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/ClusterResources.java4
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java5
2 files changed, 8 insertions, 1 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterResources.java b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterResources.java
index a4ed22c5266..87b5133d4eb 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterResources.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/ClusterResources.java
@@ -44,10 +44,12 @@ public class ClusterResources {
return false;
}
- /** Returns true if this is within the given limits (inclusive) */
+ /** Returns true if this is within the given limits (inclusive) and is compatible with them */
public boolean isWithin(ClusterResources min, ClusterResources max) {
if (this.smallerThan(min)) return false;
if (max.smallerThan(this)) return false;
+ if ( ! this.nodeResources.justNonNumbers().compatibleWith(min.nodeResources.justNonNumbers())) return false;
+ if ( ! this.nodeResources.justNonNumbers().compatibleWith(max.nodeResources.justNonNumbers())) return false;
return true;
}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
index 5fc05a87a7d..05b604b263f 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
@@ -148,6 +148,11 @@ public class NodeResources {
return with(NodeResources.DiskSpeed.any).with(StorageType.any);
}
+ /** Returns this with all numbers set to 0 */
+ public NodeResources justNonNumbers() {
+ return withVcpu(0).withMemoryGb(0).withDiskGb(0).withBandwidthGbps(0);
+ }
+
public NodeResources subtract(NodeResources other) {
if ( ! this.isInterchangeableWith(other))
throw new IllegalArgumentException(this + " and " + other + " are not interchangeable");