diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-01-05 15:58:49 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2021-01-06 14:27:51 +0100 |
commit | 724b329e339f16097cf5b64cda58dcf415ceb328 (patch) | |
tree | 466f10e9c66f225e127a52717b388c530939ce82 /controller-server | |
parent | 20fbdab815b94b589867e7318e8e7904cb80b425 (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.java | 11 |
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()) |