From 63e2e795b44a8487b9bc48b92cc30f3384c4bb1b Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Mon, 10 Oct 2022 13:51:31 +0200 Subject: Allow GCP endpoints --- .../pkg/ApplicationPackageValidator.java | 9 ++---- .../vespa/hosted/controller/ControllerTest.java | 32 ---------------------- 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(); 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 @@ -911,38 +911,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(); -- cgit v1.2.3