From 2d4a465fd170c8624d2d481b66f7105ddd5d16c5 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Wed, 11 Oct 2023 11:03:24 +0200 Subject: Require zone-scoped endpoint in config-model --- .../model/container/ApplicationContainerCluster.java | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'config-model/src/main/java') diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java index 7b34c16b8a2..9821f3b9568 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java @@ -17,6 +17,7 @@ import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.TreeConfigProducer; import com.yahoo.config.provision.AllocatedHosts; import com.yahoo.config.provision.HostSpec; +import com.yahoo.config.provision.TenantName; import com.yahoo.container.bundle.BundleInstantiationSpecification; import com.yahoo.container.di.config.ApplicationBundlesConfig; import com.yahoo.container.handler.metrics.MetricsProxyApiConfig; @@ -78,6 +79,8 @@ public final class ApplicationContainerCluster extends ContainerCluster hosts = getContainers().stream().map(AbstractService::getHostName).sorted().toList(); List endpoints = new ArrayList<>(); @@ -241,6 +243,12 @@ public final class ApplicationContainerCluster extends ContainerCluster endpoint.scope() == ApplicationClusterEndpoint.Scope.zone)) { + throw new IllegalArgumentException("Expected at least one " + ApplicationClusterEndpoint.Scope.zone + + " endpoint for cluster '" + name() + "' in application '" + + deployState.getProperties().applicationId() + + "', got " + deployState.getEndpoints()); + } this.endpoints = Collections.unmodifiableList(endpoints); } @@ -374,6 +382,14 @@ public final class ApplicationContainerCluster extends ContainerCluster