diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-09-07 11:54:54 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-09-12 09:27:42 +0200 |
commit | 89dd1b69ed6d036715969bbe2d1c28d20c731d43 (patch) | |
tree | 1fdc5c966907496746c1394d825cc549d9f40858 /controller-server | |
parent | 939eb860022dde6689c1dabae11ff640d529e9a1 (diff) |
Allow cloud-account attribute on non-production elements
Diffstat (limited to 'controller-server')
2 files changed, 3 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java index cb5bef81890..64e2c20e68c 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java @@ -59,7 +59,6 @@ import com.yahoo.vespa.hosted.controller.application.pkg.ApplicationPackageValid import com.yahoo.vespa.hosted.controller.athenz.impl.AthenzFacade; import com.yahoo.vespa.hosted.controller.certificate.EndpointCertificates; import com.yahoo.vespa.hosted.controller.concurrent.Once; -import com.yahoo.vespa.hosted.controller.deployment.DeploymentStatus; import com.yahoo.vespa.hosted.controller.deployment.DeploymentTrigger; import com.yahoo.vespa.hosted.controller.deployment.JobStatus; import com.yahoo.vespa.hosted.controller.deployment.Run; @@ -632,7 +631,7 @@ public class ApplicationController { .collect(toList()); Optional<CloudAccount> cloudAccount = applicationPackage.deploymentSpec() .instance(application.instance()) - .flatMap(spec -> spec.cloudAccount(zone.environment(), zone.region())); + .flatMap(spec -> spec.cloudAccount(zone.environment(), Optional.of(zone.region()))); ConfigServer.PreparedApplication preparedApplication = configServer.deploy(new DeploymentData(application, zone, applicationPackage.zippedContent(), platform, endpoints, endpointCertificateMetadata, dockerImageRepo, domain, 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 5a131ba4a29..cb48b4aa621 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 @@ -98,7 +98,7 @@ public class ApplicationPackageValidator { if (!controller.zoneRegistry().hasZone(ZoneId.from(environment, region))) { throw new IllegalArgumentException("Zone " + zone + " in deployment spec was not found in this system!"); } - Optional<CloudAccount> cloudAccount = spec.cloudAccount(environment, region); + Optional<CloudAccount> cloudAccount = spec.cloudAccount(environment, zone.region()); if (cloudAccount.isPresent() && !controller.zoneRegistry().hasZone(ZoneId.from(environment, region), cloudAccount.get())) { throw new IllegalArgumentException("Zone " + zone + " in deployment spec is not configured for " + "use in cloud account '" + cloudAccount.get().value() + @@ -195,7 +195,7 @@ public class ApplicationPackageValidator { for (var spec : deploymentSpec.instances()) { for (var zone : spec.zones()) { if (!zone.environment().isProduction()) continue; - Optional<CloudAccount> cloudAccount = spec.cloudAccount(zone.environment(), zone.region().get()); + Optional<CloudAccount> cloudAccount = spec.cloudAccount(zone.environment(), zone.region()); if (cloudAccount.isEmpty()) continue; if (validAccounts.contains(cloudAccount.get())) continue; throw new IllegalArgumentException("Cloud account '" + cloudAccount.get().value() + |