aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-10-28 13:34:06 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2022-10-28 13:34:06 +0200
commit08bfc2d79edb7eaed3b49205c03de7b2f9e1d45f (patch)
tree22fb947e13e47e1f4fe34b14d237c44872ece0c5
parenteb9a7717a0dc3bca7b6618a9a70f26f01a4c9725 (diff)
Sort to produce deterministic lists.
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java2
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());
}