summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2022-10-10 13:51:31 +0200
committerValerij Fredriksen <valerijf@yahooinc.com>2022-10-10 13:55:19 +0200
commit63e2e795b44a8487b9bc48b92cc30f3384c4bb1b (patch)
tree044a9eb6f97cd0e3e8fcec0e76a4b9420c7b4aa2
parentc5acb0539156625c82c9e0430bda4acec17d7f80 (diff)
Allow GCP endpoints
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackageValidator.java9
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java32
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()