diff options
author | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-10-10 13:51:31 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-10-10 13:55:19 +0200 |
commit | 63e2e795b44a8487b9bc48b92cc30f3384c4bb1b (patch) | |
tree | 044a9eb6f97cd0e3e8fcec0e76a4b9420c7b4aa2 | |
parent | c5acb0539156625c82c9e0430bda4acec17d7f80 (diff) |
Allow GCP endpoints
2 files changed, 2 insertions, 39 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java index 8e8a4e24970..f72b6f2e9f0 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java @@ -10,7 +10,6 @@ import com.yahoo.config.application.api.ValidationOverrides; import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.InstanceName; -import com.yahoo.config.provision.RegionName; import com.yahoo.config.provision.zone.ZoneApi; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.hosted.controller.Application; @@ -26,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; /** @@ -97,15 +97,10 @@ public class ApplicationPackageValidator { var clouds = new HashSet<CloudName>(); for (var region : endpoint.regions()) { for (ZoneApi zone : controller.zoneRegistry().zones().all().in(Environment.prod).in(region).zones()) { - if (zone.getCloudName().equals(CloudName.GCP)) { - throw new IllegalArgumentException("Endpoint '" + endpoint.endpointId() + "' in " + instance + - " contains a Google Cloud region (" + region + - "), which is not yet supported"); - } clouds.add(zone.getCloudName()); } } - if (clouds.size() != 1) { + if (clouds.size() != 1 && !clouds.equals(Set.of(CloudName.GCP, CloudName.AWS))) { throw new IllegalArgumentException("Endpoint '" + endpoint.endpointId() + "' in " + instance + " cannot contain regions in different clouds: " + endpoint.regions().stream().sorted().toList()); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java index c4e138c4d18..cd3d6ca7531 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java @@ -912,38 +912,6 @@ public class ControllerTest { } @Test - void testDeployWithGlobalEndpointsInGcp() { - tester.controllerTester().zoneRegistry().setZones( - ZoneApiMock.fromId("test.us-west-1"), - ZoneApiMock.fromId("staging.us-west-1"), - ZoneApiMock.newBuilder().with(CloudName.GCP).withId("prod.gcp-us-east1-b").build() - ); - var context = tester.newDeploymentContext(); - var applicationPackage = new ApplicationPackageBuilder() - .region("gcp-us-east1-b") - .endpoint("default", "default") // Contains all regions by default - .build(); - - try { - context.submit(applicationPackage); - fail("Expected exception"); - } catch (IllegalArgumentException e) { - assertEquals("Endpoint 'default' in instance 'default' contains a Google Cloud region (gcp-us-east1-b), which is not yet supported", e.getMessage()); - } - - var applicationPackage2 = new ApplicationPackageBuilder() - .region("gcp-us-east1-b") - .endpoint("gcp", "default", "gcp-us-east1-b") - .build(); - try { - context.submit(applicationPackage2); - fail("Expected exception"); - } catch (IllegalArgumentException e) { - assertEquals("Endpoint 'gcp' in instance 'default' contains a Google Cloud region (gcp-us-east1-b), which is not yet supported", e.getMessage()); - } - } - - @Test void testDeployWithoutSourceRevision() { var context = tester.newDeploymentContext(); var applicationPackage = new ApplicationPackageBuilder() |