summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-02-18 08:50:56 +0100
committerGitHub <noreply@github.com>2022-02-18 08:50:56 +0100
commitdbfd94f7332575e3217b7c6e43a76bcbb6880ed0 (patch)
tree3162ad860c04f832ddf3b173f60032a207c3bcec /config-model-api
parent7ebb39e1827c30faa1dfd692a78520510a266975 (diff)
parent2126335545db50eb4311e909fb5d1c9f3ff86076 (diff)
Merge pull request #21258 from vespa-engine/jonmv/long-deployment-pipelines-2
Add revision upgrade policy "exclusive" which _never_ joins commits
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/abi-spec.json1
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java4
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java1
3 files changed, 5 insertions, 1 deletions
diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json
index ae9e7a22129..aeb1d28b824 100644
--- a/config-model-api/abi-spec.json
+++ b/config-model-api/abi-spec.json
@@ -379,6 +379,7 @@
"public static com.yahoo.config.application.api.DeploymentSpec$UpgradeRevision valueOf(java.lang.String)"
],
"fields": [
+ "public static final enum com.yahoo.config.application.api.DeploymentSpec$UpgradeRevision exclusive",
"public static final enum com.yahoo.config.application.api.DeploymentSpec$UpgradeRevision separate",
"public static final enum com.yahoo.config.application.api.DeploymentSpec$UpgradeRevision latest"
]
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
index 8ad42b1d4a8..3a66fb0c1a5 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
@@ -552,7 +552,9 @@ public class DeploymentSpec {
/** Determines when application changes deploy, when an older revision is already rolling out. */
public enum UpgradeRevision {
- /** Separate: Application changes wait for previous application changes to complete, unless they fail. */
+ /** Exclusive: Application changes are rolled one at a time through this instance, even when they fail. */
+ exclusive,
+ /** Separate: Application changes wait for already rolling application changes to complete, unless they fail. */
separate,
/** Latest: Application changes immediately supersede previous application changes, unless currently blocked. */
latest
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
index b12d4024591..fdd7733a5f6 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
@@ -486,6 +486,7 @@ public class DeploymentSpecXmlReader {
return DeploymentSpec.UpgradeRevision.separate;
switch (revision) {
+ case "exclusive": return DeploymentSpec.UpgradeRevision.exclusive;
case "separate": return DeploymentSpec.UpgradeRevision.separate;
case "latest": return DeploymentSpec.UpgradeRevision.latest;
default: throw new IllegalArgumentException("Illegal upgrade revision '" + revision + "': " +