diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-10-28 13:34:06 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-10-28 13:34:06 +0200 |
commit | 08bfc2d79edb7eaed3b49205c03de7b2f9e1d45f (patch) | |
tree | 22fb947e13e47e1f4fe34b14d237c44872ece0c5 | |
parent | eb9a7717a0dc3bca7b6618a9a70f26f01a4c9725 (diff) |
Sort to produce deterministic lists.
3 files changed, 9 insertions, 1 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java index a879b335a34..99bf768f67e 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java @@ -137,7 +137,7 @@ public class ApplicationClusterEndpoint { } } - public static class DnsName { + public static class DnsName implements Comparable<DnsName> { private static final int MAX_LABEL_LENGTH = 63; @@ -210,5 +210,10 @@ public class ApplicationClusterEndpoint { "name='" + name + '\'' + '}'; } + + @Override + public int compareTo(DnsName o) { + return name.compareTo(o.name); + } } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java index 8907c21d39a..ea135ba9749 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java @@ -193,6 +193,7 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat // Add zone local endpoints using zone dns suffixes, tenant, application and cluster id. List<String> hosts = getContainers().stream() .map(AbstractService::getHostName) + .sorted() .collect(Collectors.toList()); for (String suffix : deployState.getProperties().zoneDnsSuffixes()) { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java index 7677417f1a9..bfe61155c99 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java @@ -71,6 +71,7 @@ public class LbServicesProducer implements LbServicesConfig.Producer { Set<ApplicationClusterInfo> applicationClusterInfos = app.getModel().applicationClusterInfo(); List<LbServicesConfig.Tenants.Applications.Endpoints.Builder> endpointBuilder = applicationClusterInfos.stream() + .sorted(Comparator.comparing(ApplicationClusterInfo::name)) .map(ApplicationClusterInfo::endpoints) .flatMap(endpoints -> getEndpointConfig(endpoints).stream()) .collect(Collectors.toList()); @@ -80,6 +81,7 @@ public class LbServicesProducer implements LbServicesConfig.Producer { private List<LbServicesConfig.Tenants.Applications.Endpoints.Builder> getEndpointConfig(List<ApplicationClusterEndpoint> clusterEndpoints) { return clusterEndpoints.stream() + .sorted(Comparator.comparing(ApplicationClusterEndpoint::dnsName)) .map(this::getEndpointConfig) .collect(Collectors.toList()); } |