From f76c53cf13d1addeea63a18c1dbd6fb51af00b3a Mon Sep 17 00:00:00 2001 From: jonmv Date: Wed, 3 May 2023 22:37:54 +0200 Subject: Restore pausedUntil --- .../application/JobControllerApiHandlerHelper.java | 26 +++++++++------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'controller-server') diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java index 2ab42897a3e..2fc5ac10e6b 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java @@ -273,25 +273,19 @@ class JobControllerApiHandlerHelper { // TODO: recursively search dependents for what is the relevant partial change when this is a delay step ... Readiness readiness = stepStatus.job().map(jobsToRun::get).map(job -> job.get(0).readiness()) .orElse(stepStatus.readiness(change)); + Instant now = controller.clock().instant(); if (readiness.ok()) { stepObject.setLong("readyAt", readiness.at().toEpochMilli()); - if ( ! readiness.okAt(controller.clock().instant())) { - Instant until = readiness.at(); - stepObject.setLong("delayedUntil", readiness.at().toEpochMilli()); - switch (readiness.cause()) { - case paused -> stepObject.setLong("pausedUntil", until.toEpochMilli()); - case coolingDown -> stepObject.setLong("coolingDownUntil", until.toEpochMilli()); - case changeBlocked -> { - Readiness platformReadiness = stepStatus.readiness(Change.of(controller.systemVersion(versionStatus))); // Dummy version — just anything with a platform. - if (platformReadiness.cause() == DelayCause.changeBlocked) - stepObject.setLong("platformBlockedUntil", platformReadiness.at().toEpochMilli()); - Readiness applicationReadiness = stepStatus.readiness(Change.of(RevisionId.forProduction(1))); // Dummy version — just anything with an application. - if (applicationReadiness.cause() == DelayCause.changeBlocked) - stepObject.setLong("applicationBlockedUntil", applicationReadiness.at().toEpochMilli()); - } - } - } + if ( ! readiness.okAt(now)) stepObject.setLong("delayedUntil", readiness.at().toEpochMilli()); } + if (readiness.cause() == DelayCause.coolingDown) stepObject.setLong("coolingDownUntil", readiness.at().toEpochMilli()); + if ( ! stepStatus.pausedUntil().okAt(now)) stepObject.setLong("pausedUntil", stepStatus.pausedUntil().at().toEpochMilli()); + Readiness platformReadiness = stepStatus.blockedUntil(Change.of(controller.systemVersion(versionStatus))); // Dummy version — just anything with a platform. + if ( ! platformReadiness.okAt(now)) + stepObject.setLong("platformBlockedUntil", platformReadiness.at().toEpochMilli()); + Readiness applicationReadiness = stepStatus.blockedUntil(Change.of(RevisionId.forProduction(1))); // Dummy version — just anything with an application. + if ( ! applicationReadiness.okAt(now)) + stepObject.setLong("applicationBlockedUntil", applicationReadiness.at().toEpochMilli()); if (stepStatus.type() == DeploymentStatus.StepType.delay) stepStatus.completedAt(change).ifPresent(completed -> stepObject.setLong("completedAt", completed.toEpochMilli())); -- cgit v1.2.3