diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2022-02-17 15:52:40 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2022-02-17 15:52:40 +0100 |
commit | 2126335545db50eb4311e909fb5d1c9f3ff86076 (patch) | |
tree | 492687d7a06b56c49c5a648e0b63b6e0b556c2fc /config-model-api | |
parent | d0ab3419e6c87d3da08552effe8474b3835c8713 (diff) |
Add revision upgrade policy "exclusive" which _never_ joins commits
Diffstat (limited to 'config-model-api')
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 + "': " + |