summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-26 17:03:41 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2018-09-26 17:03:41 +0200
commit484551af5b25d497ac5a63402505e5b937f7288e (patch)
tree21991cbc6a702d61973c13535adcefb86dc898fd /controller-server
parentb20c3bb6ef5a722ba879353eed2cc0d8da93ae9a (diff)
Validate zones w.r.t. deployment jobs as well!
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java1
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java2
2 files changed, 3 insertions, 0 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java
index a6c3f11470d..cd5178d80ac 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Application.java
@@ -199,6 +199,7 @@ public class Application {
// Rotation status only contains VIP host names, one per zone in the system. The only way to map VIP hostname to
// this deployment, and thereby determine rotation status, is to check if VIP hostname contains the
// deployment's environment and region.
+ // TODO: change this map to be indexed by zones, then?
return rotationStatus.entrySet().stream()
.filter(kv -> kv.getKey().value().contains(deployment.zone().value()))
.map(Map.Entry::getValue)
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
index 2dd3b1dda23..b70eb8d6fa7 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
@@ -44,6 +44,7 @@ import com.yahoo.vespa.hosted.controller.application.JobStatus;
import com.yahoo.vespa.hosted.controller.application.JobStatus.JobRun;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
import com.yahoo.vespa.hosted.controller.concurrent.Once;
+import com.yahoo.vespa.hosted.controller.deployment.DeploymentSteps;
import com.yahoo.vespa.hosted.controller.deployment.DeploymentTrigger;
import com.yahoo.vespa.hosted.controller.persistence.CuratorDb;
import com.yahoo.vespa.hosted.controller.rotation.Rotation;
@@ -649,6 +650,7 @@ public class ApplicationController {
/** Verify that each of the production zones listed in the deployment spec exist in this system. */
private void validate(DeploymentSpec deploymentSpec) {
+ new DeploymentSteps(deploymentSpec, controller::system).jobs();
deploymentSpec.zones().stream()
.filter(zone -> zone.environment() == Environment.prod)
.forEach(zone -> {