diff options
author | Valerij Fredriksen <valerij92@gmail.com> | 2020-09-24 14:42:36 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2020-09-24 14:54:11 +0200 |
commit | 6fe2e0a4568ef2c6f5b3a08a099fae4edc2385bc (patch) | |
tree | 572c1d958a9d22ace541852e87ccd0fc629cb0a0 /controller-server/src | |
parent | 48c99a9427263c1a13f2b5d3857dc29c6179197b (diff) |
Deploy with internalRestart if flag is set
Diffstat (limited to 'controller-server/src')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java | 10 |
1 files changed, 9 insertions, 1 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 7135cbe77c9..a6c177230d7 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 @@ -118,6 +118,7 @@ public class ApplicationController { private final EndpointCertificateManager endpointCertificateManager; private final StringFlag dockerImageRepoFlag; private final BooleanFlag provisionApplicationRoles; + private final BooleanFlag deployWithInternalRestart; private final BillingController billingController; ApplicationController(Controller controller, CuratorDb curator, AccessControl accessControl, Clock clock, @@ -132,6 +133,7 @@ public class ApplicationController { this.applicationStore = controller.serviceRegistry().applicationStore(); this.dockerImageRepoFlag = Flags.DOCKER_IMAGE_REPO.bindTo(flagSource); this.provisionApplicationRoles = Flags.PROVISION_APPLICATION_ROLES.bindTo(flagSource); + this.deployWithInternalRestart = Flags.DEPLOY_WITH_INTERNAL_RESTART.bindTo(controller.flagSource()); this.billingController = billingController; deploymentTrigger = new DeploymentTrigger(controller, clock); @@ -521,6 +523,11 @@ public class ApplicationController { .filter(s -> !s.isBlank()) .map(DockerImage::fromString); + boolean internalRestart = deployWithInternalRestart + .with(FetchVector.Dimension.ZONE_ID, zone.value()) + .with(FetchVector.Dimension.APPLICATION_ID, application.serializedForm()) + .value(); + Optional<AthenzDomain> domain = controller.tenants().get(application.tenant()) .filter(tenant-> tenant instanceof AthenzTenant) .map(tenant -> ((AthenzTenant)tenant).domain()); @@ -534,7 +541,8 @@ public class ApplicationController { ConfigServer.PreparedApplication preparedApplication = configServer.deploy(new DeploymentData(application, zone, applicationPackage.zippedContent(), platform, - endpoints, endpointCertificateMetadata, dockerImageRepo, domain, applicationRoles, quota)); + endpoints, endpointCertificateMetadata, dockerImageRepo, domain, + applicationRoles, quota, internalRestart)); return new ActivateResult(new RevisionId(applicationPackage.hash()), preparedApplication.prepareResponse(), applicationPackage.zippedContent().length); } finally { |