diff options
author | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-11-17 11:23:45 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-11-17 11:23:45 +0100 |
commit | 926e7ac56525833c1ff3750a4e49dc07f23378dc (patch) | |
tree | 097a935667433624a9de1c52df95c7c8f1dd7777 /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeAllocation.java | |
parent | 619f58b1f1e81aa073fb43d87a484f2cf0ffee34 (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.java | 3 |
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; |