aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2022-11-17 11:23:45 +0100
committerValerij Fredriksen <valerijf@yahooinc.com>2022-11-17 11:23:45 +0100
commit926e7ac56525833c1ff3750a4e49dc07f23378dc (patch)
tree097a935667433624a9de1c52df95c7c8f1dd7777 /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
parent619f58b1f1e81aa073fb43d87a484f2cf0ffee34 (diff)
Retire nodes on wrong parent account
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
index 5ee4bdddd02..178b42096e6 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java
@@ -121,7 +121,6 @@ class NodeAllocation {
if ( candidate.state() == Node.State.active && allocation.removable()) continue; // don't accept; causes removal
if ( candidate.state() == Node.State.active && candidate.wantToFail()) continue; // don't accept; causes failing
if ( indexes.contains(membership.index())) continue; // duplicate index (just to be sure)
- if ( requiredHostFlavor.isPresent() && ! candidate.parent.map(node -> node.flavor().name()).equals(requiredHostFlavor)) continue;
if ( candidate.parent.isPresent() && ! candidate.parent.get().cloudAccount().equals(requestedNodes.cloudAccount())) continue; // wrong account
boolean resizeable = requestedNodes.considerRetiring() && candidate.isResizable;
@@ -173,6 +172,7 @@ class NodeAllocation {
if (candidate.wantToRetire()) return Retirement.hardRequest;
if (candidate.preferToRetire() && candidate.replaceableBy(candidates)) return Retirement.softRequest;
if (violatesExclusivity(candidate)) return Retirement.violatesExclusivity;
+ if (requiredHostFlavor.isPresent() && ! candidate.parent.map(node -> node.flavor().name()).equals(requiredHostFlavor)) return Retirement.violatesHostFlavor;
return Retirement.none;
}
@@ -486,6 +486,7 @@ class NodeAllocation {
hardRequest("node is requested to retire"),
softRequest("node is requested to retire (soft)"),
violatesExclusivity("node violates host exclusivity"),
+ violatesHostFlavor("node violates host flavor"),
none("");
private final String description;