From fcf295a4da2b5c34b567bfee5fdcfb36e7052f2b Mon Sep 17 00:00:00 2001 From: jonmv Date: Wed, 26 Oct 2022 22:18:51 +0200 Subject: Sleep 5 minutes on first parent host not ready --- .../yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java | 5 ++++- .../vespa/hosted/controller/deployment/InternalStepRunnerTest.java | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java index 7a459e4f29f..e8c92d3e3f6 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java @@ -179,6 +179,7 @@ public class InternalStepRunner implements StepRunner { controller.jobController().run(id) .stepInfo(setTheStage ? deployInitialReal : deployReal).get() .startTime().get(), + id, logger) .filter(result -> { // If no tester cert, or deployment failed, propagate original result. @@ -200,10 +201,11 @@ public class InternalStepRunner implements StepRunner { controller.jobController().run(id) .stepInfo(deployTester).get() .startTime().get(), + id, logger); } - private Optional deploy(Supplier deployment, Instant startTime, DualLogger logger) { + private Optional deploy(Supplier deployment, Instant startTime, RunId id, DualLogger logger) { try { DeploymentResult result = deployment.get(); logger.logAll(result.log().stream() @@ -246,6 +248,7 @@ public class InternalStepRunner implements StepRunner { } case LOAD_BALANCER_NOT_READY, PARENT_HOST_NOT_READY -> { logger.log(e.message()); // Consider splitting these messages in summary and details, on config server. + controller.jobController().locked(id, run -> run.sleepingUntil(startTime.plusSeconds(300))); return result; } case NODE_ALLOCATION_FAILURE -> { diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java index 7687a1561a4..9bf762d2f99 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java @@ -516,6 +516,7 @@ public class InternalStepRunnerTest { assertEquals(oldTrusted, tester.configServer().application(app.instanceId(), id.type().zone()).get().applicationPackage().trustedCertificates()); tester.configServer().throwOnNextPrepare(null); + tester.clock().advance(Duration.ofSeconds(300)); tester.runner().run(); assertEquals(succeeded, tester.jobs().run(id).stepStatuses().get(Step.deployTester)); assertEquals(succeeded, tester.jobs().run(id).stepStatuses().get(Step.deployReal)); -- cgit v1.2.3