summaryrefslogtreecommitdiffstats
path: root/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2022-02-21 21:55:10 +0100
committerJon Marius Venstad <venstad@gmail.com>2022-02-22 12:20:27 +0100
commit2aa8213873330a461e9b49ae257d01eb08648495 (patch)
treef56c05271df57e0d06add5ced348b970f11cd08a /config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java
parent96916710a1b46cbed64f15345e56a3a68df235f5 (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.java18
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(""));