diff options
author | Martin Polden <mpolden@mpolden.no> | 2018-08-21 13:52:27 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2018-08-21 13:52:27 +0200 |
commit | 6965e262220ea213a527e15e33a9c61787d45c47 (patch) | |
tree | 439ce5afd51fd11fbf6dcee87d9a961c4754906a /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java | |
parent | f4111fd96a963621453f7580b4272b1c9bdaf028 (diff) |
Remove cloud from ZoneId.equals
Region and environment pairs are unique across clouds.
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java | 10 |
1 files changed, 9 insertions, 1 deletions
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 8ad21fee2f1..871a7872a9c 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 @@ -13,6 +13,7 @@ import com.yahoo.vespa.hosted.controller.application.SystemApplication; import com.yahoo.vespa.hosted.controller.maintenance.OsUpgrader; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -62,7 +63,7 @@ public class OsVersionStatus { if (application.nodeTypesWithUpgradableOs().isEmpty()) { continue; // Avoid querying applications that do not contain nodes with upgradable OS } - for (ZoneId zone : controller.zoneRegistry().zones().controllerUpgraded().ids()) { + for (ZoneId zone : zonesToUpgrade(controller)) { controller.configServer().nodeRepository().list(zone, application.id()).stream() .filter(node -> OsUpgrader.eligibleForUpgrade(node, application)) .map(node -> new Node(node.hostname(), node.currentOsVersion(), zone.environment(), zone.region())) @@ -79,6 +80,13 @@ public class OsVersionStatus { return new OsVersionStatus(versions); } + private static List<ZoneId> zonesToUpgrade(Controller controller) { + return controller.zoneRegistry().osUpgradePolicies().stream() + .flatMap(upgradePolicy -> upgradePolicy.asList().stream()) + .flatMap(Collection::stream) + .collect(Collectors.toList()); + } + /** A node in this system and its current OS version */ public static class Node { |