diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2022-02-21 21:55:10 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2022-02-22 12:20:27 +0100 |
commit | 2aa8213873330a461e9b49ae257d01eb08648495 (patch) | |
tree | f56c05271df57e0d06add5ced348b970f11cd08a /config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java | |
parent | 96916710a1b46cbed64f15345e56a3a68df235f5 (diff) |
Do not roll out new application package with pure deployment orchestration changes
Diffstat (limited to 'config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java | 18 |
1 files changed, 16 insertions, 2 deletions
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 96e3ba75a38..9135e9f49ff 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 @@ -11,6 +11,7 @@ import com.yahoo.config.provision.RegionName; import java.io.Reader; import java.time.Duration; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -285,6 +286,19 @@ public class DeploymentSpec { return Objects.hash(majorVersion, steps, xmlForm); } + /** Computes a hash of all fields that influence what is deployed with this spec, i.e., not orchestration. */ + public int deployableHashCode() { + Object[] toHash = new Object[instances().size() + 3]; + int i = 0; + toHash[i++] = athenzDomain; + toHash[i++] = athenzService; + toHash[i++] = endpoints; + for (DeploymentInstanceSpec instance : instances()) + toHash[i++] = instance.deployableHashCode(); + + return Arrays.hashCode(toHash); + } + /** A deployment step */ public abstract static class Step { @@ -395,7 +409,7 @@ public class DeploymentSpec { public int hashCode() { return Objects.hash(environment, region); } - + @Override public boolean equals(Object o) { if (o == this) return true; @@ -405,7 +419,7 @@ public class DeploymentSpec { if ( ! this.region.equals(other.region())) return false; return true; } - + @Override public String toString() { return environment + (region.map(regionName -> "." + regionName).orElse("")); |