summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-01-05 15:58:49 +0100
committerMartin Polden <mpolden@mpolden.no>2021-01-06 14:27:51 +0100
commit724b329e339f16097cf5b64cda58dcf415ceb328 (patch)
tree466f10e9c66f225e127a52717b388c530939ce82 /controller-server
parent20fbdab815b94b589867e7318e8e7904cb80b425 (diff)
Read target major version once
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java
index 2639f366a07..8d5019904fa 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/Upgrader.java
@@ -87,9 +87,10 @@ public class Upgrader extends ControllerMaintainer {
// Schedule the right upgrades
InstanceList instances = instances();
- upgrade(instances.with(UpgradePolicy.canary), canaryTarget, instances.size());
- defaultTargets.forEach(target -> upgrade(instances.with(UpgradePolicy.defaultPolicy), target, numberOfApplicationsToUpgrade()));
- conservativeTargets.forEach(target -> upgrade(instances.with(UpgradePolicy.conservative), target, numberOfApplicationsToUpgrade()));
+ Optional<Integer> targetMajorVersion = targetMajorVersion();
+ upgrade(instances.with(UpgradePolicy.canary), canaryTarget, targetMajorVersion, instances.size());
+ defaultTargets.forEach(target -> upgrade(instances.with(UpgradePolicy.defaultPolicy), target, targetMajorVersion, numberOfApplicationsToUpgrade()));
+ conservativeTargets.forEach(target -> upgrade(instances.with(UpgradePolicy.conservative), target, targetMajorVersion, numberOfApplicationsToUpgrade()));
return true;
}
@@ -113,9 +114,9 @@ public class Upgrader extends ControllerMaintainer {
.unpinned();
}
- private void upgrade(InstanceList instances, Version version, int numberToUpgrade) {
+ private void upgrade(InstanceList instances, Version version, Optional<Integer> targetMajorVersion, int numberToUpgrade) {
instances.not().failingOn(version)
- .allowMajorVersion(version.getMajor(), targetMajorVersion().orElse(version.getMajor()))
+ .allowMajorVersion(version.getMajor(), targetMajorVersion.orElse(version.getMajor()))
.not().deploying()
.onLowerVersionThan(version)
.canUpgradeAt(version, controller().clock().instant())