summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-09-19 12:08:06 +0200
committerjonmv <venstad@gmail.com>2022-09-19 12:19:46 +0200
commitab2675727a96f22d4042be83cea86826f5b469aa (patch)
treeb5fc6ce1c8e447da2f128bfac159e83f347bd140 /controller-server
parentd2574e6352c26d9d40256e606376a3e0f6638225 (diff)
Try/catch triggering new revisions, and return success rate
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentStatus.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployer.java16
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;
}
}