diff options
author | jonmv <venstad@gmail.com> | 2022-09-19 12:08:06 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-09-19 12:19:46 +0200 |
commit | ab2675727a96f22d4042be83cea86826f5b469aa (patch) | |
tree | b5fc6ce1c8e447da2f128bfac159e83f347bd140 /controller-server | |
parent | d2574e6352c26d9d40256e606376a3e0f6638225 (diff) |
Try/catch triggering new revisions, and return success rate
Diffstat (limited to 'controller-server')
2 files changed, 16 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java index 52eeaae1297..cc1263531df 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java @@ -171,9 +171,9 @@ public class DeploymentStatus { } /** Returns change potentially with a compatibility platform added, if required for the change to roll out to the given instance. */ - public Change withPermittedPlatform(Change change, InstanceName instance, boolean allowOudatedPlatform) { + public Change withPermittedPlatform(Change change, InstanceName instance, boolean allowOutdatedPlatform) { Change augmented = withCompatibilityPlatform(change, instance); - if (allowOudatedPlatform) + if (allowOutdatedPlatform) return augmented; boolean alreadyDeployedOnPlatform = augmented.platform().map(platform -> allJobs.production().asList().stream() diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployer.java index 8a14dd3a146..b33a43a2031 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployer.java @@ -4,8 +4,10 @@ package com.yahoo.vespa.hosted.controller.maintenance; import com.yahoo.vespa.hosted.controller.Application; import com.yahoo.vespa.hosted.controller.Controller; import com.yahoo.vespa.hosted.controller.application.ApplicationList; +import com.yahoo.yolean.Exceptions; import java.time.Duration; +import java.util.logging.Logger; /** * Deploys application changes which have been postponed due to an ongoing upgrade, or a block window. @@ -14,19 +16,29 @@ import java.time.Duration; */ public class OutstandingChangeDeployer extends ControllerMaintainer { + private static final Logger logger = Logger.getLogger(OutstandingChangeDeployer.class.getName()); + public OutstandingChangeDeployer(Controller controller, Duration interval) { super(controller, interval); } @Override protected double maintain() { + double ok = 0, total = 0; for (Application application : ApplicationList.from(controller().applications().readable()) .withProductionDeployment() .withProjectId() .withDeploymentSpec() .asList()) - controller().applications().deploymentTrigger().triggerNewRevision(application.id()); - return 1.0; + try { + ++total; + controller().applications().deploymentTrigger().triggerNewRevision(application.id()); + ++ok; + } + catch (RuntimeException e) { + logger.info("Failed triggering new revision for " + application + ": " + Exceptions.toMessageString(e)); + } + return total > 0 ? ok / total : 1; } } |