diff options
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringOsUpgrader.java')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringOsUpgrader.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringOsUpgrader.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringOsUpgrader.java index de4915d60aa..ccb7f40b0de 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringOsUpgrader.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringOsUpgrader.java @@ -47,16 +47,16 @@ public class RetiringOsUpgrader extends OsUpgrader { /** Returns nodes that are candidates for upgrade */ private NodeList candidates(Instant instant, OsVersionTarget target, NodeList allNodes) { - NodeList activeNodes = allNodes.state(Node.State.active).nodeType(target.nodeType()); + NodeList nodes = allNodes.state(Node.State.active, Node.State.provisioned).nodeType(target.nodeType()); if (softRebuild) { // Retire only hosts which do not have a replaceable root disk - activeNodes = activeNodes.not().replaceableRootDisk(); + nodes = nodes.not().replaceableRootDisk(); } - return activeNodes.not().deprovisioning() - .osVersionIsBefore(target.version()) - .matching(node -> canUpgradeAt(instant, node)) - .byIncreasingOsVersion() - .first(upgradeSlots(target, activeNodes.deprovisioning())); + return nodes.not().deprovisioning() + .not().onOsVersion(target.version()) + .matching(node -> canUpgradeAt(instant, node)) + .byIncreasingOsVersion() + .first(upgradeSlots(target, nodes.deprovisioning())); } /** Upgrade given host by retiring and deprovisioning it */ |