diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-07-14 12:00:44 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-07-14 12:01:28 +0200 |
commit | f81a884bb91355e73fade9a759f3abe1e2fce128 (patch) | |
tree | 21ed83edc2818369cf72d6fe727bf450be8b851a /controller-server/src/main | |
parent | b377a884f9ef9f2a83e54fc100aa26d85746d71d (diff) |
Include nodes deferring upgrade in version status
Diffstat (limited to 'controller-server/src/main')
2 files changed, 4 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java index 8155476f139..4850f005ac7 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java @@ -62,7 +62,7 @@ public class OsUpgrader extends InfrastructureUpgrader<OsVersionTarget> { protected boolean expectUpgradeOf(Node node, SystemApplication application, ZoneApi zone) { return cloud.equals(zone.getCloudName()) && // Cloud is managed by this upgrader application.shouldUpgradeOs() && // Application should upgrade in this cloud - canUpgrade(node); + canUpgrade(node, false); } @Override @@ -102,8 +102,8 @@ public class OsUpgrader extends InfrastructureUpgrader<OsVersionTarget> { } /** Returns whether node currently allows upgrades */ - public static boolean canUpgrade(Node node) { - return !node.deferOsUpgrade() && upgradableNodeStates.contains(node.state()); + public static boolean canUpgrade(Node node, boolean includeDeferring) { + return (includeDeferring || !node.deferOsUpgrade()) && upgradableNodeStates.contains(node.state()); } private static String name(CloudName cloud) { diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java index 8ee891ae8a6..d6356f294dc 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java @@ -66,7 +66,7 @@ public record OsVersionStatus(Map<OsVersion, List<NodeVersion>> versions) { .orElse(Version.emptyVersion); for (var node : controller.serviceRegistry().configServer().nodeRepository().list(zone.getVirtualId(), NodeFilter.all().applications(application.id()))) { - if (!OsUpgrader.canUpgrade(node)) continue; + if (!OsUpgrader.canUpgrade(node, true)) continue; Optional<Instant> suspendedAt = node.suspendedSince(); NodeVersion nodeVersion = new NodeVersion(node.hostname(), zone.getVirtualId(), node.currentOsVersion(), targetOsVersion, suspendedAt); |