aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-05-23 08:54:07 +0200
committerMartin Polden <mpolden@mpolden.no>2018-05-24 10:07:31 +0200
commitfb0c81a2eaa643d45feaa3a8d2678ea8178344ed (patch)
tree75113ae2aa2b20c57f2ff20db85ce9e9b052bddd /controller-server
parentac4122446dc5340a3d60a19380e198475e3edfcc (diff)
Improve names
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgrader.java12
2 files changed, 11 insertions, 9 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java
index 70814ba6508..1e96f33c275 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java
@@ -23,12 +23,12 @@ public enum SystemApplication {
private final ApplicationId id;
private final NodeType nodeType;
- private final List<SystemApplication> prerequisites;
+ private final List<SystemApplication> dependencies;
- SystemApplication(ApplicationId id, NodeType nodeType, SystemApplication... prerequisites) {
+ SystemApplication(ApplicationId id, NodeType nodeType, SystemApplication... dependencies) {
this.id = id;
this.nodeType = nodeType;
- this.prerequisites = Arrays.asList(prerequisites);
+ this.dependencies = Arrays.asList(dependencies);
}
public ApplicationId id() {
@@ -41,7 +41,7 @@ public enum SystemApplication {
}
/** Returns the system applications that should upgrade before this */
- public List<SystemApplication> prerequisites() { return prerequisites; }
+ public List<SystemApplication> dependencies() { return dependencies; }
/** Returns whether this system application has an application package */
public boolean hasApplicationPackage() {
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 7cb967e0c82..9965d88c64e 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
@@ -51,16 +51,18 @@ public class SystemUpgrader extends Maintainer {
for (List<ZoneId> zones : controller().zoneRegistry().upgradePolicy().asList()) {
boolean converged = true;
for (SystemApplication application : applications) {
- if (application.prerequisites().stream().allMatch(prerequisite -> converged(zones, prerequisite, target))) {
+ if (application.dependencies().stream().allMatch(dep -> convergedOn(target, dep, zones))) {
deploy(zones, application, target);
}
- converged &= converged(zones, application, target);
+ converged &= convergedOn(target, application, zones);
+ }
+ if (!converged) {
+ break;
}
- if (!converged) break;
}
}
- /** Deploy application on given version. Returns true when all allocated nodes are on requested version */
+ /** Deploy application on given version idempotently */
private void deploy(List<ZoneId> zones, SystemApplication application, Version target) {
for (ZoneId zone : zones) {
if (!wantedVersion(zone, application.id(), target).equals(target)) {
@@ -70,7 +72,7 @@ public class SystemUpgrader extends Maintainer {
}
}
- private boolean converged(List<ZoneId> zones, SystemApplication application, Version target) {
+ private boolean convergedOn(Version target, SystemApplication application, List<ZoneId> zones) {
return zones.stream().allMatch(zone -> currentVersion(zone, application.id(), target).equals(target));
}