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/DeploymentInstanceSpec.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/DeploymentInstanceSpec.java')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java index e701f3903cb..677933f3b85 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java @@ -9,14 +9,21 @@ import com.yahoo.config.provision.RegionName; import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; +import java.util.Arrays; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; +import static com.yahoo.config.provision.Environment.prod; +import static java.util.stream.Collectors.toList; +import static java.util.stream.Collectors.toSet; + /** * The deployment spec for an application instance * @@ -224,6 +231,19 @@ public class DeploymentInstanceSpec extends DeploymentSpec.Steps { return Objects.hash(globalServiceId, upgradePolicy, revisionTarget, upgradeRollout, changeBlockers, steps(), athenzService, notifications, endpoints); } + int deployableHashCode() { + List<DeploymentSpec.DeclaredZone> zones = zones().stream().filter(zone -> zone.concerns(prod)).collect(toList()); + Object[] toHash = new Object[zones.size() + 3]; + int i = 0; + toHash[i++] = name; + toHash[i++] = endpoints; + toHash[i++] = globalServiceId; + for (DeploymentSpec.DeclaredZone zone : zones) + toHash[i++] = Objects.hash(zone, zone.athenzService()); + + return Arrays.hashCode(toHash); + } + @Override public String toString() { return "instance '" + name + "'"; |