diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-06-02 15:38:28 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-06-02 15:38:28 +0200 |
commit | a6cde6e02afe1ef683c8a1406e24c696e86bafb0 (patch) | |
tree | 7c7671afe88632199dd43bd12352f528f853767c /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java | |
parent | fdc4350398029fbffbed3c0498380589a73571d7 (diff) |
Remove Cloud dependency from OsUpgrader
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java index ecb9a872676..66fb20e8a71 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgrader.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.hosted.controller.maintenance; import com.yahoo.component.Version; -import com.yahoo.config.provision.Cloud; import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.zone.ZoneApi; @@ -31,10 +30,10 @@ public class OsUpgrader extends InfrastructureUpgrader<OsVersionTarget> { Node.State.reserved ); - private final Cloud cloud; + private final CloudName cloud; - public OsUpgrader(Controller controller, Duration interval, Cloud cloud) { - super(controller, interval, controller.zoneRegistry().osUpgradePolicy(cloud.name()), name(cloud.name())); + public OsUpgrader(Controller controller, Duration interval, CloudName cloud) { + super(controller, interval, controller.zoneRegistry().osUpgradePolicy(cloud), name(cloud)); this.cloud = cloud; } @@ -58,22 +57,22 @@ public class OsUpgrader extends InfrastructureUpgrader<OsVersionTarget> { @Override protected boolean expectUpgradeOf(Node node, SystemApplication application, ZoneApi zone) { - return cloud.name().equals(zone.getCloudName()) && // Cloud is managed by this upgrader - application.shouldUpgradeOsIn(cloud) && // Application should upgrade in this cloud - canUpgrade(node); // Node is in an upgradable state + return cloud.equals(zone.getCloudName()) && // Cloud is managed by this upgrader + application.shouldUpgradeOsIn(zone.getId(), controller()) && // Application should upgrade in this cloud + canUpgrade(node); // Node is in an upgradable state } @Override protected Optional<OsVersionTarget> targetVersion() { // Return target if we have nodes in this cloud on a lower version - return controller().osVersionTarget(cloud.name()) - .filter(target -> controller().osVersionStatus().nodesIn(cloud.name()).stream() + return controller().osVersionTarget(cloud) + .filter(target -> controller().osVersionStatus().nodesIn(cloud).stream() .anyMatch(node -> node.currentVersion().isBefore(target.osVersion().version()))); } @Override protected boolean changeTargetTo(OsVersionTarget target, SystemApplication application, ZoneApi zone) { - if (!application.shouldUpgradeOsIn(cloud)) return false; + if (!application.shouldUpgradeOsIn(zone.getId(), controller())) return false; return controller().serviceRegistry().configServer().nodeRepository() .targetVersionsOf(zone.getId()) .osVersion(application.nodeType()) |