diff options
author | Martin Polden <mpolden@mpolden.no> | 2017-06-02 16:02:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-02 16:02:26 +0200 |
commit | 9a7722ca82971a803b8b1fb1582c3338588ef73c (patch) | |
tree | 7860223d443edee961e68c17dd9a5a8004c83a58 /config-model | |
parent | 6d11145fb25591ae137f2dfefdc5627cafcc9b83 (diff) | |
parent | 670cb1727b64208d3a3ad7c26bc7fd4fcffd08fd (diff) |
Merge pull request #2617 from yahoo/revert-2616-revert-2604-bratseth/deployment-delay
Revert "Revert "Bratseth/deployment delay""
Diffstat (limited to 'config-model')
3 files changed, 21 insertions, 11 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index addf14d5e6b..dbae6851977 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -418,10 +418,10 @@ public final class ContainerCluster private boolean zoneHasActiveRotation(Zone zone) { return getDeploymentSpec() - .flatMap(spec -> spec.zones().stream() - .filter(dz -> dz.matches(zone.environment(), Optional.of(zone.region()))) + .flatMap(spec -> spec.steps().stream() + .filter(dz -> dz.deploysTo(zone.environment(), Optional.of(zone.region()))) .findFirst()) - .map(DeploymentSpec.DeclaredZone::active) + .map(step -> ((DeploymentSpec.DeclaredZone)step).active()) .orElse(false); } diff --git a/config-model/src/main/resources/schema/deployment.rnc b/config-model/src/main/resources/schema/deployment.rnc index c8bd11d7184..d34255c7127 100644 --- a/config-model/src/main/resources/schema/deployment.rnc +++ b/config-model/src/main/resources/schema/deployment.rnc @@ -21,11 +21,19 @@ Staging = element staging { text } -Prod = - element prod { - attribute global-service-id { text }?, - element region { - attribute active { xsd:boolean }, - text - }* - } +Prod = element prod { + attribute global-service-id { text }? & + Region* & + Delay* +} + +Region = element region { + attribute active { xsd:boolean }, + text +} + +Delay = element delay { + attribute hours { xsd:long }? & + attribute minutes { xsd:long }? & + attribute seconds { xsd:long }? +} diff --git a/config-model/src/test/schema-test-files/deployment.xml b/config-model/src/test/schema-test-files/deployment.xml index 92d59abbe53..286466eff57 100644 --- a/config-model/src/test/schema-test-files/deployment.xml +++ b/config-model/src/test/schema-test-files/deployment.xml @@ -4,7 +4,9 @@ <staging/> <prod global-service-id='qrs'> <region active='true'>us-west-1</region> + <delay hours='3'/> <region active='true'>us-central-1</region> + <delay hours='3' minutes='7' seconds='13'/> <region active='true'>us-east-3</region> </prod> </deployment> |