diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-11-16 09:29:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-16 09:29:35 +0100 |
commit | 0f24b425434161d031f37b3665b9b3bad0af3f18 (patch) | |
tree | d922485ce1212620d87ec45dcf5c7e0d5b08080c /configserver | |
parent | f3b72b57c32cd050684cd38cfcf89a84e82dc425 (diff) | |
parent | 73b6ca079f9eadf9a1e039d04487b0bfa557fca7 (diff) |
Merge pull request #20017 from vespa-engine/mortent/add-clusterid
Add clusterid
Diffstat (limited to 'configserver')
2 files changed, 19 insertions, 4 deletions
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 7ef65bda46d..dccabca2858 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 @@ -105,7 +105,8 @@ public class LbServicesProducer implements LbServicesConfig.Producer { .scope(LbServicesConfig.Tenants.Applications.Endpoints.Scope.Enum.valueOf(clusterEndpoints.scope().name())) .routingMethod(LbServicesConfig.Tenants.Applications.Endpoints.RoutingMethod.Enum.valueOf(clusterEndpoints.routingMethod().name())) .weight(clusterEndpoints.weight()) - .hosts(clusterEndpoints.hostNames()); + .hosts(clusterEndpoints.hostNames()) + .clusterId(clusterEndpoints.clusterId()); } private boolean getActiveRotation(ApplicationInfo app) { diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java index 2163d8738ab..fb5fb27cd7a 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java @@ -38,7 +38,6 @@ import java.util.Map; import java.util.Random; import java.util.Set; import java.util.stream.Collectors; -import java.util.stream.Stream; import static com.yahoo.cloud.config.LbServicesConfig.Tenants.Applications.Endpoints.RoutingMethod.Enum.sharedLayer4; import static com.yahoo.cloud.config.LbServicesConfig.Tenants.Applications.Endpoints.Scope.Enum.application; @@ -47,6 +46,7 @@ import static com.yahoo.cloud.config.LbServicesConfig.Tenants.Applications.Endpo import static com.yahoo.config.model.api.container.ContainerServiceType.QRSERVER; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -54,7 +54,6 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeFalse; -import static org.junit.Assume.assumeTrue; /** * @author Ulf Lilleengen @@ -177,15 +176,19 @@ public class LbServicesProducerTest { .filter(e -> e.routingMethod() == sharedLayer4) .map(Endpoints::dnsName).collect(Collectors.toList()), containsInAnyOrder("mydisc.foo.foo.endpoint1.suffix", "mydisc.foo.foo.endpoint2.suffix")); + assertContainsEndpoint(zoneEndpoints, "mydisc.foo.foo.endpoint1.suffix", "mydisc", zone, sharedLayer4, 1, List.of("foo.foo.yahoo.com")); + assertContainsEndpoint(zoneEndpoints, "mydisc.foo.foo.endpoint2.suffix", "mydisc", zone, sharedLayer4, 1, List.of("foo.foo.yahoo.com")); List<Endpoints> globalEndpoints = endpointList.stream().filter(e -> e.scope() == global).collect(Collectors.toList()); assertEquals(2, globalEndpoints.size()); assertThat(globalEndpoints.stream().map(Endpoints::dnsName).collect(Collectors.toList()), containsInAnyOrder("rotation-1", "rotation-2")); + assertContainsEndpoint(globalEndpoints, "rotation-1", "mydisc", global, sharedLayer4, 1, List.of("foo.foo.yahoo.com")); + assertContainsEndpoint(globalEndpoints, "rotation-2", "mydisc", global, sharedLayer4, 1, List.of("foo.foo.yahoo.com")); List<Endpoints> applicationEndpoints = endpointList.stream().filter(e -> e.scope() == application).collect(Collectors.toList()); assertEquals(1, applicationEndpoints.size()); assertThat(applicationEndpoints.stream().map(Endpoints::dnsName).collect(Collectors.toList()), containsInAnyOrder("app-endpoint")); - + assertContainsEndpoint(applicationEndpoints, "app-endpoint", "mydisc", application, sharedLayer4, 1, List.of("foo.foo.yahoo.com")); } @@ -205,6 +208,17 @@ public class LbServicesProducerTest { .applications("baz:prod:default:custom-t")); } + private void assertContainsEndpoint(List<Endpoints> endpoints, String dnsName, String clusterId, Endpoints.Scope.Enum scope, Endpoints.RoutingMethod.Enum routingMethod, int weight, List<String> hosts) { + assertThat(endpoints, hasItem(new Endpoints.Builder() + .dnsName(dnsName) + .clusterId(clusterId) + .scope(scope) + .routingMethod(routingMethod) + .weight(weight) + .hosts(hosts) + .build())); + } + private Map<TenantName, Set<ApplicationInfo>> randomizeApplications(Map<TenantName, Set<ApplicationInfo>> testModel, int seed) { Map<TenantName, Set<ApplicationInfo>> randomizedApplications = new LinkedHashMap<>(); List<TenantName> keys = new ArrayList<>(testModel.keySet()); |