summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2021-07-05 11:06:55 +0200
committerGitHub <noreply@github.com>2021-07-05 11:06:55 +0200
commit52e4022195beb3161f0b7afc0f2117a8784e358b (patch)
tree160f9e14c1008d54851314c1164656afd994286b /controller-server
parent82ef508085200f50b40e87a907dc592227ac7609 (diff)
Revert "Revert "Deploy tester and real apps in parallell""
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java13
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Step.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-job.json2
4 files changed, 13 insertions, 10 deletions
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 cc29ed5b840..a3beb131b75 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
@@ -193,7 +193,8 @@ public class InternalStepRunner implements StepRunner {
controller.jobController().run(id).get()
.stepInfo(setTheStage ? deployInitialReal : deployReal).get()
.startTime().get(),
- logger);
+ logger,
+ false);
}
private Optional<RunStatus> deployTester(RunId id, DualLogger logger) {
@@ -206,10 +207,12 @@ public class InternalStepRunner implements StepRunner {
controller.jobController().run(id).get()
.stepInfo(deployTester).get()
.startTime().get(),
- logger);
+ logger,
+ true);
}
- private Optional<RunStatus> deploy(Supplier<ActivateResult> deployment, Instant startTime, DualLogger logger) {
+ private Optional<RunStatus> deploy(Supplier<ActivateResult> deployment, Instant startTime, DualLogger logger,
+ boolean failOnAnyError) {
try {
PrepareResponse prepareResponse = deployment.get().prepareResponse();
if (prepareResponse.log != null)
@@ -228,7 +231,7 @@ public class InternalStepRunner implements StepRunner {
}
catch (ConfigServerException e) {
// Retry certain failures for up to one hour.
- Optional<RunStatus> result = startTime.isBefore(controller.clock().instant().minus(Duration.ofHours(1)))
+ Optional<RunStatus> result = failOnAnyError || startTime.isBefore(controller.clock().instant().minus(Duration.ofHours(1)))
? Optional.of(deploymentFailed) : Optional.empty();
switch (e.code()) {
case CERTIFICATE_NOT_READY:
@@ -250,7 +253,7 @@ public class InternalStepRunner implements StepRunner {
case OUT_OF_CAPACITY:
logger.log(e.message());
return controller.system().isCd() && startTime.plus(timeouts.capacity()).isAfter(controller.clock().instant())
- ? Optional.empty()
+ ? result
: Optional.of(outOfCapacity);
case INVALID_APPLICATION_PACKAGE:
case BAD_REQUEST:
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Step.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Step.java
index baba4771370..3077dc5211a 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Step.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/Step.java
@@ -34,7 +34,7 @@ public enum Step {
installTester(false, deployTester),
/** Download and deploy the initial real application, for staging tests. */
- deployInitialReal(false, deployTester),
+ deployInitialReal(false),
/** See that the real application has had its nodes converge to the initial state. */
installInitialReal(false, deployInitialReal),
@@ -46,7 +46,7 @@ public enum Step {
endStagingSetup(false, startStagingSetup),
/** Download and deploy real application, restarting services if required. */
- deployReal(false, endStagingSetup, deployTester),
+ deployReal(false, endStagingSetup),
/** See that real application has had its nodes converge to the wanted version and generation. */
installReal(false, deployReal),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java
index f677cc079cc..023c5671b60 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/JobRunnerTest.java
@@ -131,8 +131,8 @@ public class JobRunnerTest {
Map<Step, Status> steps = run.get().stepStatuses();
runner.maintain();
assertEquals(steps, run.get().stepStatuses());
- assertEquals(List.of(deployTester), run.get().readySteps());
- assertStepsWithStartTime(run.get(), deployTester);
+ assertEquals(List.of(deployTester, deployReal), run.get().readySteps());
+ assertStepsWithStartTime(run.get(), deployTester, deployReal);
outcomes.put(deployTester, running);
runner.maintain();
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-job.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-job.json
index 3234333c092..77998d91f20 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-job.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-job.json
@@ -63,7 +63,7 @@
"deactivateTester": "unfinished",
"report": "unfinished"
},
- "tasks": {},
+ "tasks": {"deploy": "running"},
"log": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1/job/system-test/run/2"
}
}