summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2018-05-30 22:17:20 +0200
committerValerij Fredriksen <valerij92@gmail.com>2018-05-30 22:17:20 +0200
commit5099a110e002ee2508a1082fa4e8f37fa264dbce (patch)
tree364663cee02178621f0bb13da94948c47a1d9319 /controller-server
parent23463e351097acc353dbfd2153a50b6cb8907df4 (diff)
Upgrade hosts
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java18
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java1
2 files changed, 10 insertions, 9 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 516cd52d710..35adb632c38 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
@@ -11,7 +11,6 @@ import com.yahoo.vespa.hosted.controller.versions.VespaVersion;
import com.yahoo.yolean.Exceptions;
import java.time.Duration;
-import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
@@ -38,9 +37,9 @@ public class SystemUpgrader extends Maintainer {
if (!target.isPresent()) {
return;
}
- // TODO: Change to SystemApplication.all() once host applications support upgrade
+
try {
- deploy(Arrays.asList(SystemApplication.configServer, SystemApplication.zone), target.get());
+ deploy(SystemApplication.all(), target.get());
} catch (Exception e) {
log.log(Level.WARNING, "Failed to upgrade system. Retrying in " + maintenanceInterval(), e);
}
@@ -53,12 +52,11 @@ public class SystemUpgrader extends Maintainer {
for (ZoneId zone : zones) {
for (SystemApplication application : applications) {
boolean dependenciesConverged = application.dependencies().stream()
- .filter(applications::contains) // TODO: Remove when all() is used.
- .allMatch(dependency -> currentVersion(zone, dependency.id()).equals(target));
+ .allMatch(dependency -> convergedOn(zone, dependency, target));
if (dependenciesConverged) {
deploy(target, application, zone);
}
- converged &= currentVersion(zone, application.id()).equals(target);
+ converged &= convergedOn(zone, application, target);
}
}
if (!converged) {
@@ -75,12 +73,16 @@ public class SystemUpgrader extends Maintainer {
}
}
+ private boolean convergedOn(ZoneId zone, SystemApplication application, Version target) {
+ return currentVersion(zone, application.id(), target).equals(target);
+ }
+
private Version wantedVersion(ZoneId zone, ApplicationId application, Version defaultVersion) {
return minVersion(zone, application, Node::wantedVersion).orElse(defaultVersion);
}
- private Version currentVersion(ZoneId zone, ApplicationId application) {
- return minVersion(zone, application, Node::currentVersion).orElse(Version.emptyVersion);
+ private Version currentVersion(ZoneId zone, ApplicationId application, Version defaultVersion) {
+ return minVersion(zone, application, Node::currentVersion).orElse(defaultVersion);
}
private Optional<Version> minVersion(ZoneId zone, ApplicationId application, Function<Node, Version> versionField) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java
index 1ec64f8d478..4b563ed203d 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java
@@ -121,7 +121,6 @@ public class SystemUpgraderTest {
}
@Test
- @Ignore // TODO: Unignore once host applications support upgrade
public void upgrade_system_containing_host_applications() {
tester.controllerTester().zoneRegistry().setUpgradePolicy(
UpgradePolicy.create()