summaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java
index 8d5851be62f..8e74ef9a983 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.component.Version;
+import com.yahoo.config.provision.zone.NodeSlice;
import com.yahoo.config.provision.zone.RoutingMethod;
import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.text.Text;
@@ -39,12 +40,12 @@ public class SystemUpgrader extends InfrastructureUpgrader<VespaVersionTarget> {
}
@Override
- protected boolean convergedOn(VespaVersionTarget target, SystemApplication application, ZoneApi zone) {
- Optional<Version> minVersion = minVersion(zone, application, Node::currentVersion);
+ protected boolean convergedOn(VespaVersionTarget target, SystemApplication application, ZoneApi zone, NodeSlice nodeSlice) {
+ Optional<Version> currentVersion = versionOf(nodeSlice, zone, application, Node::currentVersion);
// Skip application convergence check if there are no nodes belonging to the application in the zone
- if (minVersion.isEmpty()) return true;
+ if (currentVersion.isEmpty()) return true;
- return minVersion.get().equals(target.version()) &&
+ return currentVersion.get().equals(target.version()) &&
application.configConvergedIn(zone.getId(), controller(), Optional.of(target.version()));
}
@@ -79,10 +80,9 @@ public class SystemUpgrader extends InfrastructureUpgrader<VespaVersionTarget> {
// the wanted version of each node.
boolean zoneHasSharedRouting = controller().zoneRegistry().routingMethods(zone.getId()).stream()
.anyMatch(RoutingMethod::isShared);
- return minVersion(zone, application, Node::wantedVersion)
+ return versionOf(NodeSlice.ALL, zone, application, Node::wantedVersion)
.map(wantedVersion -> !wantedVersion.equals(target.version()))
.orElse(zoneHasSharedRouting); // Always upgrade if zone uses shared routing, but has no nodes allocated yet
-
}
return controller().serviceRegistry().configServer().nodeRepository()
.targetVersionsOf(zone.getId())