diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-04-09 14:55:30 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-04-09 15:33:41 +0200 |
commit | bfd1b9ec19f522ef3985de887e9a6ec13d355913 (patch) | |
tree | d096ab62078a86aef3ad3a650e4c37d2b20a6e00 /controller-server/src/test/java | |
parent | ca3c7d297728a566bb0aa9b83a68a1189bc2e962 (diff) |
Add support for global endpoint names in public system
Refactors the existing name building to more easily support all the different
variants.
Diffstat (limited to 'controller-server/src/test/java')
7 files changed, 173 insertions, 88 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java new file mode 100644 index 00000000000..b67f3356e22 --- /dev/null +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java @@ -0,0 +1,114 @@ +// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.controller.application; + +import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.ClusterSpec; +import com.yahoo.config.provision.RotationName; +import com.yahoo.config.provision.SystemName; +import com.yahoo.config.provision.zone.ZoneId; +import com.yahoo.vespa.hosted.controller.application.Endpoint.Port; +import org.junit.Test; + +import java.util.Map; + +import static org.junit.Assert.assertEquals; + +/** + * @author mpolden + */ +public class EndpointTest { + + private static final ApplicationId app1 = ApplicationId.from("t1", "a1", "default"); + private static final ApplicationId app2 = ApplicationId.from("t2", "a2", "i2"); + + @Test + public void test_global_endpoints() { + RotationName rotation = RotationName.from("default"); // Always default for non-direct routing + + Map<String, Endpoint> tests = Map.of( + // Legacy endpoint + "http://a1.t1.global.vespa.yahooapis.com:4080/", + Endpoint.of(app1).target(rotation).on(Port.plain(4080)).legacy().in(SystemName.main), + + // Legacy endpoint with TLS + "https://a1--t1.global.vespa.yahooapis.com:4443/", + Endpoint.of(app1).target(rotation).on(Port.tls(4443)).legacy().in(SystemName.main), + + // Main endpoint + "https://a1--t1.global.vespa.oath.cloud:4443/", + Endpoint.of(app1).target(rotation).on(Port.tls(4443)).in(SystemName.main), + + // Main endpoint in CD + "https://cd--a1--t1.global.vespa.oath.cloud:4443/", + Endpoint.of(app1).target(rotation).on(Port.tls(4443)).in(SystemName.cd), + + // Main endpoint with direct routing and default TLS port + "https://a1.t1.global.vespa.oath.cloud/", + Endpoint.of(app1).target(rotation).on(Port.tls()).directRouting().in(SystemName.main), + + // Main endpoint with custom rotation name + "https://r1.a1.t1.global.vespa.oath.cloud/", + Endpoint.of(app1).target(RotationName.from("r1")).on(Port.tls()).directRouting().in(SystemName.main), + + // Main endpoint for custom instance + "https://i2.a2.t2.global.vespa.oath.cloud/", + Endpoint.of(app2).target(rotation).on(Port.tls()).directRouting().in(SystemName.main), + + // Main endpoint for custom instance with custom rotation name + "https://r2.i2.a2.t2.global.vespa.oath.cloud/", + Endpoint.of(app2).target(RotationName.from("r2")).on(Port.tls()).directRouting().in(SystemName.main), + + // Main endpoint in public system + "https://a1.t1.global.public.vespa.oath.cloud/", + Endpoint.of(app1).target(rotation).on(Port.tls()).directRouting().in(SystemName.Public) + ); + tests.forEach((expected, endpoint) -> assertEquals(expected, endpoint.url().toString())); + } + + @Test + public void test_zone_endpoints() { + ClusterSpec.Id cluster = ClusterSpec.Id.from("default"); // Always default for non-direct routing + ZoneId prodZone = ZoneId.from("prod", "us-north-1"); + ZoneId testZone = ZoneId.from("test", "us-north-2"); + + Map<String, Endpoint> tests = Map.of( + // Legacy endpoint (always contains environment) + "http://a1.t1.us-north-1.prod.vespa.yahooapis.com:4080/", + Endpoint.of(app1).target(cluster, prodZone).on(Port.plain(4080)).legacy().in(SystemName.main), + + // Secure legacy endpoint + "https://a1--t1.us-north-1.prod.vespa.yahooapis.com:4443/", + Endpoint.of(app1).target(cluster, prodZone).on(Port.tls(4443)).legacy().in(SystemName.main), + + // Prod endpoint in main + "https://a1--t1.us-north-1.vespa.oath.cloud:4443/", + Endpoint.of(app1).target(cluster, prodZone).on(Port.tls(4443)).in(SystemName.main), + + // Prod endpoint in CD + "https://cd--a1--t1.us-north-1.vespa.oath.cloud:4443/", + Endpoint.of(app1).target(cluster, prodZone).on(Port.tls(4443)).in(SystemName.cd), + + // Test endpoint in main + "https://a1--t1.us-north-2.test.vespa.oath.cloud:4443/", + Endpoint.of(app1).target(cluster, testZone).on(Port.tls(4443)).in(SystemName.main), + + // Non-default cluster in main + "https://c1--a1--t1.us-north-1.vespa.oath.cloud/", + Endpoint.of(app1).target(ClusterSpec.Id.from("c1"), prodZone).on(Port.tls()).in(SystemName.main), + + // Non-default instance in main + "https://i2--a2--t2.us-north-1.vespa.oath.cloud:4443/", + Endpoint.of(app2).target(cluster, prodZone).on(Port.tls(4443)).in(SystemName.main), + + // Non-default cluster in public + "https://c1.a1.t1.us-north-1.public.vespa.oath.cloud/", + Endpoint.of(app1).target(ClusterSpec.Id.from("c1"), prodZone).on(Port.tls()).directRouting().in(SystemName.Public), + + // Non-default cluster and instance in public + "https://c2.i2.a2.t2.us-north-1.public.vespa.oath.cloud/", + Endpoint.of(app2).target(ClusterSpec.Id.from("c2"), prodZone).on(Port.tls()).directRouting().in(SystemName.Public) + ); + tests.forEach((expected, endpoint) -> assertEquals(expected, endpoint.url().toString())); + } + +} diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/RoutingPolicyTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/RoutingPolicyTest.java deleted file mode 100644 index 56c2f9bd968..00000000000 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/RoutingPolicyTest.java +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.controller.application; - -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.HostName; -import com.yahoo.config.provision.zone.ZoneId; -import org.junit.Test; - -import java.util.Optional; -import java.util.Set; - -import static org.junit.Assert.assertEquals; - -/** - * @author mpolden - */ -public class RoutingPolicyTest { - - @Test - public void test_endpoint_names() { - ZoneId zoneId = ZoneId.from("prod", "us-north-1"); - ApplicationId withInstance = ApplicationId.from("tenant", "application", "instance"); - testAlias("instance--application--tenant.prod.us-north-1.vespa.oath.cloud", "default", withInstance, zoneId); - testAlias("cluster--instance--application--tenant.prod.us-north-1.vespa.oath.cloud", "cluster", withInstance, zoneId); - - ApplicationId withDefaultInstance = ApplicationId.from("tenant", "application", "default"); - testAlias("application--tenant.prod.us-north-1.vespa.oath.cloud", "default", withDefaultInstance, zoneId); - testAlias("cluster--application--tenant.prod.us-north-1.vespa.oath.cloud", "cluster", withDefaultInstance, zoneId); - } - - private void testAlias(String expected, String clusterName, ApplicationId applicationId, ZoneId zoneId) { - assertEquals(expected, new RoutingPolicy(applicationId, zoneId, ClusterSpec.Id.from(clusterName), - HostName.from("lb-0"), Optional.empty(), Set.of()).alias().value()); - } - -} diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DnsMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DnsMaintainerTest.java index cbf50b65d1a..256ace4ae09 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DnsMaintainerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DnsMaintainerTest.java @@ -11,7 +11,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordData; import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.hosted.controller.application.ApplicationPackage; -import com.yahoo.vespa.hosted.controller.application.GlobalDnsName; +import com.yahoo.vespa.hosted.controller.application.Endpoint; import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder; import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester; import com.yahoo.vespa.hosted.controller.persistence.MockCuratorDb; @@ -117,7 +117,7 @@ public class DnsMaintainerTest { for (int i = 1; i <= staleTotal; i++) { Rotation r = rotation(i); tester.controllerTester().nameService().createCname(RecordName.from("stale-record-" + i + "." + - GlobalDnsName.OATH_DNS_SUFFIX), + Endpoint.OATH_DNS_SUFFIX), RecordData.from(r.name() + ".")); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/RoutingPolicyMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/RoutingPolicyMaintainerTest.java index 47d507e6094..0541a0b05f5 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/RoutingPolicyMaintainerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/RoutingPolicyMaintainerTest.java @@ -6,11 +6,12 @@ import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.RotationName; +import com.yahoo.config.provision.SystemName; +import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.hosted.controller.Application; import com.yahoo.vespa.hosted.controller.api.integration.configserver.LoadBalancer; import com.yahoo.vespa.hosted.controller.api.integration.dns.Record; import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordName; -import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.hosted.controller.application.ApplicationPackage; import com.yahoo.vespa.hosted.controller.application.RoutingPolicy; import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder; @@ -56,15 +57,22 @@ public class RoutingPolicyMaintainerTest { public void maintains_global_routing_policies() { int clustersPerZone = 2; tester.deployCompletely(app1, applicationPackage); - Map<Integer, Set<RotationName>> rotations = Map.of(0, Set.of(RotationName.from("r0"))); + // Cluster is member of 2 global rotations + Map<Integer, Set<RotationName>> rotations = Map.of(0, Set.of(RotationName.from("r0"), RotationName.from("r1"))); provisionLoadBalancers(app1, clustersPerZone, rotations); - // Creates alias record for cluster0 + // Creates alias records for cluster0 maintainer.maintain(); - Supplier<List<Record>> records1 = () -> tester.controllerTester().nameService().findRecords(Record.Type.ALIAS, RecordName.from("r0--app1--tenant1.global.vespa.oath.cloud")); + Supplier<List<Record>> records1 = () -> tester.controllerTester().nameService().findRecords(Record.Type.ALIAS, RecordName.from("r0.app1.tenant1.global.vespa.oath.cloud")); + Supplier<List<Record>> records2 = () -> tester.controllerTester().nameService().findRecords(Record.Type.ALIAS, RecordName.from("r1.app1.tenant1.global.vespa.oath.cloud")); assertEquals(2, records1.get().size()); + assertEquals(records1.get().size(), records2.get().size()); assertEquals("lb-0--tenant1:app1:default--prod.us-central-1.", records1.get().get(0).data().asString()); assertEquals("lb-0--tenant1:app1:default--prod.us-west-1.", records1.get().get(1).data().asString()); + assertEquals("lb-0--tenant1:app1:default--prod.us-central-1.", records2.get().get(0).data().asString()); + assertEquals("lb-0--tenant1:app1:default--prod.us-west-1.", records2.get().get(1).data().asString()); + assertEquals(2, tester.controller().applications().routingPolicies(app1.id()).iterator().next() + .endpointsIn(SystemName.main).asList().size()); // Applications gains a new deployment ApplicationPackage updatedApplicationPackage = new ApplicationPackageBuilder() @@ -85,13 +93,13 @@ public class RoutingPolicyMaintainerTest { assertEquals("lb-0--tenant1:app1:default--prod.us-west-1.", records1.get().get(2).data().asString()); // Another application is deployed - Supplier<List<Record>> records2 = () -> tester.controllerTester().nameService().findRecords(Record.Type.ALIAS, RecordName.from("r0--app2--tenant1.global.vespa.oath.cloud")); + Supplier<List<Record>> records3 = () -> tester.controllerTester().nameService().findRecords(Record.Type.ALIAS, RecordName.from("r0.app2.tenant1.global.vespa.oath.cloud")); tester.deployCompletely(app2, applicationPackage); provisionLoadBalancers(app2, 1, Map.of(0, Set.of(RotationName.from("r0")))); maintainer.maintain(); - assertEquals(2, records2.get().size()); - assertEquals("lb-0--tenant1:app2:default--prod.us-central-1.", records2.get().get(0).data().asString()); - assertEquals("lb-0--tenant1:app2:default--prod.us-west-1.", records2.get().get(1).data().asString()); + assertEquals(2, records3.get().size()); + assertEquals("lb-0--tenant1:app2:default--prod.us-central-1.", records3.get().get(0).data().asString()); + assertEquals("lb-0--tenant1:app2:default--prod.us-west-1.", records3.get().get(1).data().asString()); // All rotations for app1 are removed provisionLoadBalancers(app1, clustersPerZone, Collections.emptyMap()); @@ -101,7 +109,7 @@ public class RoutingPolicyMaintainerTest { assertEquals(clustersPerZone * numberOfDeployments, policies.size()); assertTrue("Rotation membership is removed from all policies", policies.stream().allMatch(policy -> policy.rotations().isEmpty())); - assertEquals("Rotations for " + app2 + " are not removed", 2, records2.get().size()); + assertEquals("Rotations for " + app2 + " are not removed", 2, records3.get().size()); } @Test @@ -114,10 +122,10 @@ public class RoutingPolicyMaintainerTest { // Creates records and policies for all clusters in all zones maintainer.maintain(); Set<String> expectedRecords = Set.of( - "c0--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c0--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-central-1.vespa.oath.cloud" + "c0.app1.tenant1.us-west-1.vespa.oath.cloud", + "c1.app1.tenant1.us-west-1.vespa.oath.cloud", + "c0.app1.tenant1.us-central-1.vespa.oath.cloud", + "c1.app1.tenant1.us-central-1.vespa.oath.cloud" ); assertEquals(expectedRecords, recordNames()); assertEquals(4, policies(app1).size()); @@ -131,12 +139,12 @@ public class RoutingPolicyMaintainerTest { provisionLoadBalancers(app1, clustersPerZone + 1); maintainer.maintain(); expectedRecords = Set.of( - "c0--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c2--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c0--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c2--app1--tenant1.prod.us-central-1.vespa.oath.cloud" + "c0.app1.tenant1.us-west-1.vespa.oath.cloud", + "c1.app1.tenant1.us-west-1.vespa.oath.cloud", + "c2.app1.tenant1.us-west-1.vespa.oath.cloud", + "c0.app1.tenant1.us-central-1.vespa.oath.cloud", + "c1.app1.tenant1.us-central-1.vespa.oath.cloud", + "c2.app1.tenant1.us-central-1.vespa.oath.cloud" ); assertEquals(expectedRecords, recordNames()); assertEquals(6, policies(app1).size()); @@ -146,16 +154,16 @@ public class RoutingPolicyMaintainerTest { provisionLoadBalancers(app2, clustersPerZone); maintainer.maintain(); expectedRecords = Set.of( - "c0--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c2--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c0--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c2--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c0--app2--tenant1.prod.us-central-1.vespa.oath.cloud", - "c1--app2--tenant1.prod.us-central-1.vespa.oath.cloud", - "c0--app2--tenant1.prod.us-west-1.vespa.oath.cloud", - "c1--app2--tenant1.prod.us-west-1.vespa.oath.cloud" + "c0.app1.tenant1.us-west-1.vespa.oath.cloud", + "c1.app1.tenant1.us-west-1.vespa.oath.cloud", + "c2.app1.tenant1.us-west-1.vespa.oath.cloud", + "c0.app1.tenant1.us-central-1.vespa.oath.cloud", + "c1.app1.tenant1.us-central-1.vespa.oath.cloud", + "c2.app1.tenant1.us-central-1.vespa.oath.cloud", + "c0.app2.tenant1.us-central-1.vespa.oath.cloud", + "c1.app2.tenant1.us-central-1.vespa.oath.cloud", + "c0.app2.tenant1.us-west-1.vespa.oath.cloud", + "c1.app2.tenant1.us-west-1.vespa.oath.cloud" ); assertEquals(expectedRecords, recordNames()); assertEquals(4, policies(app2).size()); @@ -164,14 +172,14 @@ public class RoutingPolicyMaintainerTest { provisionLoadBalancers(app1, clustersPerZone); maintainer.maintain(); expectedRecords = Set.of( - "c0--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c0--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c0--app2--tenant1.prod.us-central-1.vespa.oath.cloud", - "c1--app2--tenant1.prod.us-central-1.vespa.oath.cloud", - "c0--app2--tenant1.prod.us-west-1.vespa.oath.cloud", - "c1--app2--tenant1.prod.us-west-1.vespa.oath.cloud" + "c0.app1.tenant1.us-west-1.vespa.oath.cloud", + "c1.app1.tenant1.us-west-1.vespa.oath.cloud", + "c0.app1.tenant1.us-central-1.vespa.oath.cloud", + "c1.app1.tenant1.us-central-1.vespa.oath.cloud", + "c0.app2.tenant1.us-central-1.vespa.oath.cloud", + "c1.app2.tenant1.us-central-1.vespa.oath.cloud", + "c0.app2.tenant1.us-west-1.vespa.oath.cloud", + "c1.app2.tenant1.us-west-1.vespa.oath.cloud" ); assertEquals(expectedRecords, recordNames()); @@ -183,10 +191,10 @@ public class RoutingPolicyMaintainerTest { }); maintainer.maintain(); expectedRecords = Set.of( - "c0--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-west-1.vespa.oath.cloud", - "c0--app1--tenant1.prod.us-central-1.vespa.oath.cloud", - "c1--app1--tenant1.prod.us-central-1.vespa.oath.cloud" + "c0.app1.tenant1.us-west-1.vespa.oath.cloud", + "c1.app1.tenant1.us-west-1.vespa.oath.cloud", + "c0.app1.tenant1.us-central-1.vespa.oath.cloud", + "c1.app1.tenant1.us-central-1.vespa.oath.cloud" ); assertEquals(expectedRecords, recordNames()); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java index ec17e26d867..b47694a61ff 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java @@ -1327,7 +1327,8 @@ public class ApplicationApiTest extends ControllerContainerTest { public void applicationWithPerClusterGlobalRotation() { Application app = controllerTester.createApplication(); RoutingPolicy policy = new RoutingPolicy(app.id(), ZoneId.from(Environment.prod, RegionName.from("us-west-1")), - ClusterSpec.Id.from("default"), HostName.from("lb-0-canonical-name"), + ClusterSpec.Id.from("default"), controllerTester.controller().system(), + HostName.from("lb-0-canonical-name"), Optional.of("dns-zone-1"), Set.of(RotationName.from("c0"))); tester.controller().curator().writeRoutingPolicies(app.id(), Set.of(policy)); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json index cd531bb96da..baaf0cd038d 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json @@ -8,7 +8,7 @@ "changeBlockers": [], "compileVersion": "(ignore)", "globalRotations": [ - "https://c0--application1--tenant1.global.vespa.oath.cloud:4443/" + "https://c0.application1.tenant1.global.vespa.oath.cloud/" ], "instances": [], "metrics": { diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java index 666c7774cf5..8d1f40260e3 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/rotation/RotationRepositoryTest.java @@ -65,8 +65,8 @@ public class RotationRepositoryTest { application = tester.applications().require(application.id()); assertEquals(expected.id(), application.rotation().get()); - assertEquals(URI.create("http://app1.tenant1.global.vespa.yahooapis.com:4080/"), - application.globalDnsName(SystemName.main).get().url()); + assertEquals(URI.create("https://app1--tenant1.global.vespa.oath.cloud:4443/"), + application.endpointsIn(SystemName.main).main().get().url()); try (RotationLock lock = repository.lock()) { Rotation rotation = repository.getOrAssignRotation(tester.applications().require(application.id()), lock); assertEquals(expected, rotation); @@ -153,10 +153,9 @@ public class RotationRepositoryTest { Application application = tester.createApplication("app2", "tenant2", 22L, 2L); tester.deployCompletely(application, applicationPackage); - assertEquals(new RotationId("foo-1"), tester.applications().require(application.id()) - .rotation().get()); - assertEquals("https://cd--app2--tenant2.global.vespa.yahooapis.com:4443/", tester.applications().require(application.id()) - .globalDnsName(SystemName.cd).get().secureUrl().toString()); + assertEquals(new RotationId("foo-1"), tester.applications().require(application.id()).rotation().get()); + assertEquals("https://cd--app2--tenant2.global.vespa.oath.cloud:4443/", tester.applications().require(application.id()) + .endpointsIn(SystemName.cd).main().get().url().toString()); } } |