aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-08-21 13:52:27 +0200
committerMartin Polden <mpolden@mpolden.no>2018-08-21 13:52:27 +0200
commit6965e262220ea213a527e15e33a9c61787d45c47 (patch)
tree439ce5afd51fd11fbf6dcee87d9a961c4754906a /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java
parentf4111fd96a963621453f7580b4272b1c9bdaf028 (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.java10
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 {