aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-01-27 16:09:24 +0100
committerGitHub <noreply@github.com>2020-01-27 16:09:24 +0100
commitfe24d5ceb53fa38aa2ffca1c3552c472a489f5f9 (patch)
treec6fe9f5a674bd358bee56de643a76c401fdfdca9
parentb4793a390bddf73fda1e9b5668619bcb518bd2a2 (diff)
parent721aa3a255ad7541274484bd001825e02eb1df52 (diff)
Merge pull request #11955 from vespa-engine/jvenstad/no-tests-in-production-deployment-jobs
Do not run tests in production deployment jobs
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/JobType.java12
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobProfile.java9
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java14
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json174
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json60
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-aws-us-east-2a-runs.json4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/jobs.json18
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview-user-instance.json67
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json84
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json12
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json60
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/us-east-3-log-without-first.json43
14 files changed, 142 insertions, 429 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/JobType.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/JobType.java
index 7aac0826b2b..1f546989b8d 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/JobType.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/JobType.java
@@ -143,15 +143,15 @@ public enum JobType {
private final String jobName;
private final Map<SystemName, ZoneId> zones;
- private final boolean isTest;
+ private final boolean isProductionTest;
- JobType(String jobName, Map<SystemName, ZoneId> zones, boolean isTest) {
+ JobType(String jobName, Map<SystemName, ZoneId> zones, boolean isProductionTest) {
if (zones.values().stream().map(ZoneId::environment).distinct().count() > 1)
throw new IllegalArgumentException("All zones of a job must be in the same environment");
this.jobName = jobName;
this.zones = zones;
- this.isTest = isTest;
+ this.isProductionTest = isProductionTest;
}
JobType(String jobName, Map<SystemName, ZoneId> zones) {
@@ -176,10 +176,10 @@ public enum JobType {
public boolean isProduction() { return environment() == Environment.prod; }
/** Returns whether this job runs tests */
- public boolean isTest() { return isTest; }
+ public boolean isTest() { return isProductionTest || environment().isTest(); }
/** Returns whether this job deploys to a zone */
- public boolean isDeployment() { return ! (isProduction() && isTest); }
+ public boolean isDeployment() { return ! (isProduction() && isProductionTest); }
/** Returns the environment of this job type, or null if it does not have an environment */
public Environment environment() {
@@ -206,7 +206,7 @@ public enum JobType {
/** Returns the job type for the given zone */
public static Optional<JobType> from(SystemName system, ZoneId zone) {
- return from(system, zone, false);
+ return from(system, zone, zone.environment().isTest());
}
/** Returns the production test job type for the given environment and region or null if none */
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobProfile.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobProfile.java
index 4c2b53d6ba2..88b3442bd6e 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobProfile.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/JobProfile.java
@@ -56,13 +56,8 @@ public enum JobProfile {
report)),
production(EnumSet.of(deployReal,
- installReal,
- deployTester,
- installTester,
- startTests,
- endTests),
- EnumSet.of(deactivateTester,
- report)),
+ installReal),
+ EnumSet.of(report)),
productionTest(EnumSet.of(deployTester,
installTester,
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
index 2792a59b523..ebf64f90873 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
@@ -331,7 +331,8 @@ public class DeploymentContext {
if (job.type().environment().isManuallyDeployed())
return this;
}
- doTests(job);
+ if (job.type().isTest())
+ doTests(job);
doTeardown(job);
return this;
}
@@ -440,7 +441,7 @@ public class DeploymentContext {
// First step is always a deployment.
runner.advance(currentRun(job));
- if ( ! job.type().environment().isManuallyDeployed())
+ if (job.type().isTest())
doInstallTester(job);
if (job.type() == JobType.stagingTest) { // Do the initial deployment and installation of the real application.
@@ -453,8 +454,7 @@ public class DeploymentContext {
assertEquals(Step.Status.succeeded, jobs.run(id).get().stepStatuses().get(Step.installInitialReal));
// All installation is complete and endpoints are ready, so setup may begin.
- if (job.type().isDeployment())
- assertEquals(Step.Status.succeeded, jobs.run(id).get().stepStatuses().get(Step.installInitialReal));
+ assertEquals(Step.Status.succeeded, jobs.run(id).get().stepStatuses().get(Step.installInitialReal));
assertEquals(Step.Status.succeeded, jobs.run(id).get().stepStatuses().get(Step.installTester));
assertEquals(Step.Status.succeeded, jobs.run(id).get().stepStatuses().get(Step.startStagingSetup));
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 ff66ab38d32..112b8066847 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
@@ -54,6 +54,7 @@ import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.app
import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.publicCdApplicationPackage;
import static com.yahoo.vespa.hosted.controller.deployment.DeploymentTester.instanceId;
import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.deploymentFailed;
+import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.installationFailed;
import static com.yahoo.vespa.hosted.controller.deployment.Step.Status.failed;
import static com.yahoo.vespa.hosted.controller.deployment.Step.Status.succeeded;
import static com.yahoo.vespa.hosted.controller.deployment.Step.Status.unfinished;
@@ -140,9 +141,6 @@ public class InternalStepRunnerTest {
ZoneId zone = id.type().zone(system());
HostName host = tester.configServer().hostFor(instanceId, zone);
- tester.setEndpoints(app.testerId().id(), JobType.productionUsCentral1.zone(system()));
- tester.runner().run();
-
tester.configServer().setConfigChangeActions(new ConfigChangeActions(singletonList(new RestartAction("cluster",
"container",
"search",
@@ -165,7 +163,7 @@ public class InternalStepRunnerTest {
tester.clock().advance(InternalStepRunner.installationTimeout.plus(Duration.ofSeconds(1)));
tester.runner().run();
- assertEquals(RunStatus.error, tester.jobs().run(id).get().status());
+ assertEquals(installationFailed, tester.jobs().run(id).get().status());
}
@Test
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java
index db82adb4940..186534dd288 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java
@@ -5,12 +5,15 @@ import com.yahoo.component.Version;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.DeployOptions;
+import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ConfigServerException;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder;
import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester;
+import com.yahoo.vespa.hosted.controller.deployment.InternalStepRunner;
+import com.yahoo.vespa.hosted.controller.deployment.RunStatus;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.Test;
@@ -37,6 +40,7 @@ import static com.yahoo.vespa.hosted.controller.api.integration.deployment.JobTy
import static com.yahoo.vespa.hosted.controller.api.integration.deployment.TesterCloud.Status.FAILURE;
import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.applicationPackage;
import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.deploymentFailed;
+import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.error;
import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.installationFailed;
import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.running;
import static com.yahoo.vespa.hosted.controller.deployment.RunStatus.testFailure;
@@ -80,15 +84,10 @@ public class JobControllerApiHandlerHelperTest {
tester.runner().run();
assertEquals(deploymentFailed, tester.jobs().last(app.instanceId(), productionUsEast3).get().status());
- ZoneId usWest1 = productionUsWest1.zone(tester.controller().system());
- tester.configServer().convergeServices(app.instanceId(), usWest1);
- tester.configServer().convergeServices(app.testerId().id(), usWest1);
- tester.setEndpoints(app.instanceId(), usWest1);
- tester.setEndpoints(app.testerId().id(), usWest1);
tester.runner().run();
- tester.cloud().set(FAILURE);
+ tester.clock().advance(Duration.ofHours(1).plusSeconds(1));
tester.runner().run();
- assertEquals(testFailure, tester.jobs().last(app.instanceId(), productionUsWest1).get().status());
+ assertEquals(installationFailed, tester.jobs().last(app.instanceId(), productionUsWest1).get().status());
assertEquals(revision2, app.deployment(productionUsCentral1.zone(tester.controller().system())).applicationVersion());
assertEquals(revision1, app.deployment(productionUsEast3.zone(tester.controller().system())).applicationVersion());
assertEquals(revision2, app.deployment(productionUsWest1.zone(tester.controller().system())).applicationVersion());
@@ -183,7 +182,6 @@ public class JobControllerApiHandlerHelperTest {
private void compare(HttpResponse response, String expected) throws JSONException, IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
response.render(baos);
- System.err.println(baos.toString());
JSONObject actualJSON = new JSONObject(new String(baos.toByteArray()));
JSONObject expectedJSON = new JSONObject(expected);
assertEquals(expectedJSON.toString(), actualJSON.toString());
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json
index fd1e8bc5f20..a8be282deaf 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview-2.json
@@ -23,8 +23,8 @@
{
"id": 3,
"url": "https://some.url:43/instance/default/job/system-test/run/run 3 of system-test for tenant.application",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"status": "success",
"versions": {
"targetPlatform": "6.1.0",
@@ -239,15 +239,15 @@
}
}
],
- "readyAt": 752000,
- "delayedUntil": 752000,
- "coolingDownUntil": 752000,
+ "readyAt": 4353000,
+ "delayedUntil": 4353000,
+ "coolingDownUntil": 4353000,
"runs": [
{
"id": 5,
"url": "https://some.url:43/instance/default/job/staging-test/run/run 5 of staging-test for tenant.application",
- "start": 102000,
- "end": 102000,
+ "start": 3703000,
+ "end": 3703000,
"status": "installationFailed",
"versions": {
"targetPlatform": "6.1.0",
@@ -327,8 +327,8 @@
{
"id": 4,
"url": "https://some.url:43/instance/default/job/staging-test/run/run 4 of staging-test for tenant.application",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"status": "installationFailed",
"versions": {
"targetPlatform": "6.1.0",
@@ -408,8 +408,8 @@
{
"id": 3,
"url": "https://some.url:43/instance/default/job/staging-test/run/run 3 of staging-test for tenant.application",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"status": "success",
"versions": {
"targetPlatform": "6.1.0",
@@ -663,12 +663,12 @@
"sourceUrl": "repository1/tree/commit1"
},
"toRun": [],
- "readyAt": 2000,
+ "readyAt": 3603000,
"runs": [
{
"id": 3,
"url": "https://some.url:43/instance/default/job/production-us-central-1/run/run 3 of production-us-central-1 for tenant.application",
- "start": 2000,
+ "start": 3603000,
"status": "running",
"versions": {
"targetPlatform": "6.1.0",
@@ -688,14 +688,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "succeeded"
- },
- {
- "name": "installTester",
- "status": "unfinished"
- },
- {
"name": "deployReal",
"status": "succeeded"
},
@@ -704,20 +696,8 @@
"status": "unfinished"
},
{
- "name": "startTests",
- "status": "unfinished"
- },
- {
- "name": "endTests",
- "status": "unfinished"
- },
- {
- "name": "deactivateTester",
- "status": "unfinished"
- },
- {
"name": "report",
- "status": "unfinished"
+ "status": "succeeded"
}
]
},
@@ -745,14 +725,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "succeeded"
- },
- {
- "name": "installTester",
- "status": "succeeded"
- },
- {
"name": "deployReal",
"status": "succeeded"
},
@@ -761,18 +733,6 @@
"status": "succeeded"
},
{
- "name": "startTests",
- "status": "succeeded"
- },
- {
- "name": "endTests",
- "status": "succeeded"
- },
- {
- "name": "deactivateTester",
- "status": "succeeded"
- },
- {
"name": "report",
"status": "succeeded"
}
@@ -795,14 +755,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "succeeded"
- },
- {
- "name": "installTester",
- "status": "succeeded"
- },
- {
"name": "deployReal",
"status": "succeeded"
},
@@ -811,18 +763,6 @@
"status": "succeeded"
},
{
- "name": "startTests",
- "status": "succeeded"
- },
- {
- "name": "endTests",
- "status": "succeeded"
- },
- {
- "name": "deactivateTester",
- "status": "succeeded"
- },
- {
"name": "report",
"status": "succeeded"
}
@@ -1005,8 +945,8 @@
"id": 2,
"url": "https://some.url:43/instance/default/job/production-us-west-1/run/run 2 of production-us-west-1 for tenant.application",
"start": 1000,
- "end": 1000,
- "status": "testFailure",
+ "end": 3602000,
+ "status": "installationFailed",
"versions": {
"targetPlatform": "6.1.0",
"targetApplication": {
@@ -1025,34 +965,14 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "succeeded"
- },
- {
- "name": "installTester",
- "status": "succeeded"
- },
- {
"name": "deployReal",
"status": "succeeded"
},
{
"name": "installReal",
- "status": "succeeded"
- },
- {
- "name": "startTests",
- "status": "succeeded"
- },
- {
- "name": "endTests",
"status": "failed"
},
{
- "name": "deactivateTester",
- "status": "succeeded"
- },
- {
"name": "report",
"status": "succeeded"
}
@@ -1075,14 +995,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "succeeded"
- },
- {
- "name": "installTester",
- "status": "succeeded"
- },
- {
"name": "deployReal",
"status": "succeeded"
},
@@ -1091,18 +1003,6 @@
"status": "succeeded"
},
{
- "name": "startTests",
- "status": "succeeded"
- },
- {
- "name": "endTests",
- "status": "succeeded"
- },
- {
- "name": "deactivateTester",
- "status": "succeeded"
- },
- {
"name": "report",
"status": "succeeded"
}
@@ -1173,34 +1073,14 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "failed"
- },
- {
- "name": "installTester",
- "status": "unfinished"
- },
- {
"name": "deployReal",
- "status": "unfinished"
+ "status": "failed"
},
{
"name": "installReal",
"status": "unfinished"
},
{
- "name": "startTests",
- "status": "unfinished"
- },
- {
- "name": "endTests",
- "status": "unfinished"
- },
- {
- "name": "deactivateTester",
- "status": "succeeded"
- },
- {
"name": "report",
"status": "succeeded"
}
@@ -1223,14 +1103,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "succeeded"
- },
- {
- "name": "installTester",
- "status": "succeeded"
- },
- {
"name": "deployReal",
"status": "succeeded"
},
@@ -1239,18 +1111,6 @@
"status": "succeeded"
},
{
- "name": "startTests",
- "status": "succeeded"
- },
- {
- "name": "endTests",
- "status": "succeeded"
- },
- {
- "name": "deactivateTester",
- "status": "succeeded"
- },
- {
"name": "report",
"status": "succeeded"
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json
index 33c83a30e38..027cca5dad2 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment-overview.json
@@ -340,14 +340,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "succeeded"
- },
- {
- "name": "installTester",
- "status": "succeeded"
- },
- {
"name": "deployReal",
"status": "succeeded"
},
@@ -356,18 +348,6 @@
"status": "succeeded"
},
{
- "name": "startTests",
- "status": "succeeded"
- },
- {
- "name": "endTests",
- "status": "succeeded"
- },
- {
- "name": "deactivateTester",
- "status": "succeeded"
- },
- {
"name": "report",
"status": "succeeded"
}
@@ -415,14 +395,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "unfinished"
- },
- {
- "name": "installTester",
- "status": "unfinished"
- },
- {
"name": "deployReal",
"status": "unfinished"
},
@@ -431,18 +403,6 @@
"status": "unfinished"
},
{
- "name": "startTests",
- "status": "unfinished"
- },
- {
- "name": "endTests",
- "status": "unfinished"
- },
- {
- "name": "deactivateTester",
- "status": "unfinished"
- },
- {
"name": "report",
"status": "unfinished"
}
@@ -491,14 +451,6 @@
},
"steps": [
{
- "name": "deployTester",
- "status": "unfinished"
- },
- {
- "name": "installTester",
- "status": "unfinished"
- },
- {
"name": "deployReal",
"status": "unfinished"
},
@@ -507,18 +459,6 @@
"status": "unfinished"
},
{
- "name": "startTests",
- "status": "unfinished"
- },
- {
- "name": "endTests",
- "status": "unfinished"
- },
- {
- "name": "deactivateTester",
- "status": "unfinished"
- },
- {
"name": "report",
"status": "unfinished"
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-aws-us-east-2a-runs.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-aws-us-east-2a-runs.json
index fe90ddd772e..f7185d373c4 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-aws-us-east-2a-runs.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-aws-us-east-2a-runs.json
@@ -2,8 +2,8 @@
"1": {
"id": 1,
"status": "success",
- "start": 102000,
- "end": 102000,
+ "start": 3703000,
+ "end": 3703000,
"wantedPlatform": "7.1",
"wantedApplication": {
"hash": "unknown"
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/jobs.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/jobs.json
index dc37c3b4bb4..3ab7078ae6a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/jobs.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/jobs.json
@@ -230,19 +230,13 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "succeeded",
- "installTester": "succeeded",
"deployReal": "succeeded",
"installReal": "succeeded",
- "startTests": "succeeded",
- "endTests": "succeeded",
- "deactivateTester": "succeeded",
"report": "succeeded"
},
"tasks": {
"deploy": "succeeded",
- "install": "succeeded",
- "test": "succeeded"
+ "install": "succeeded"
},
"log": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1/job/production-us-central-1/run/1"
}
@@ -268,13 +262,8 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "unfinished",
- "installTester": "unfinished",
"deployReal": "unfinished",
"installReal": "unfinished",
- "startTests": "unfinished",
- "endTests": "unfinished",
- "deactivateTester": "unfinished",
"report": "unfinished"
},
"tasks": {},
@@ -302,13 +291,8 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "unfinished",
- "installTester": "unfinished",
"deployReal": "unfinished",
"installReal": "unfinished",
- "startTests": "unfinished",
- "endTests": "unfinished",
- "deactivateTester": "unfinished",
"report": "unfinished"
},
"tasks": {},
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview-user-instance.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview-user-instance.json
index cf47e8671b0..95afb12dcbf 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview-user-instance.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview-user-instance.json
@@ -1,55 +1,54 @@
{
+ "lastVersions": {
+ "platform": {
+ "platform": "7.1",
+ "at": 0,
+ "completed": "0 of 0 complete"
+ },
+ "application": {
+ "application": {
+ "hash": "1.0.3-commit1",
+ "build": 3,
+ "source": {
+ "gitRepository": "repository1",
+ "gitBranch": "master",
+ "gitCommit": "commit1"
+ },
+ "sourceUrl": "repository1/tree/commit1",
+ "commit": "commit1"
+ },
+ "at": 1000,
+ "completed": "0 of 0 complete"
+ }
+ },
+ "deploying": {},
+ "deployments": [],
+ "jobs": {},
"devJobs": {
"dev-aws-us-east-2a": {
"runs": [
{
+ "id": 1,
+ "status": "success",
+ "start": 3703000,
+ "end": 3703000,
"wantedPlatform": "7.1",
- "log": "https://some.url:43/root/dev-aws-us-east-2a/run/1",
"wantedApplication": {
"hash": "unknown"
},
- "start": 102000,
- "end": 102000,
- "id": 1,
"steps": {
"deployReal": "succeeded",
"installReal": "succeeded",
"copyVespaLogs": "succeeded"
},
"tasks": {
- "install": "succeeded",
- "deploy": "succeeded"
+ "deploy": "succeeded",
+ "install": "succeeded"
},
- "status": "success"
+ "log": "https://some.url:43/root/dev-aws-us-east-2a/run/1"
}
],
"url": "https://some.url:43/root/dev-aws-us-east-2a"
}
- },
- "deployments": [],
- "lastVersions": {
- "application": {
- "at": 1000,
- "application": {
- "build": 3,
- "source": {
- "gitRepository": "repository1",
- "gitCommit": "commit1",
- "gitBranch": "master"
- },
- "sourceUrl": "repository1/tree/commit1",
- "commit": "commit1",
- "hash": "1.0.3-commit1"
- },
- "completed": "0 of 0 complete"
- },
- "platform": {
- "at": 0,
- "completed": "0 of 0 complete",
- "platform": "7.1"
- }
- },
- "deploying": {},
- "jobs": {}
+ }
}
-
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json
index ad00476154c..9510b06fb42 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/overview.json
@@ -37,7 +37,7 @@
"deployments": [
{
"us-central-1": {
- "at": 2000,
+ "at": 3603000,
"platform": "6.1",
"application": {
"hash": "1.0.3-commit1",
@@ -97,8 +97,8 @@
{
"id": 3,
"status": "success",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
@@ -265,8 +265,8 @@
{
"id": 5,
"status": "installationFailed",
- "start": 102000,
- "end": 102000,
+ "start": 3703000,
+ "end": 3703000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
@@ -313,8 +313,8 @@
{
"id": 4,
"status": "installationFailed",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
@@ -361,8 +361,8 @@
{
"id": 3,
"status": "success",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
@@ -510,7 +510,7 @@
{
"id": 3,
"status": "running",
- "start": 2000,
+ "start": 3603000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
@@ -536,14 +536,9 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "succeeded",
- "installTester": "unfinished",
"deployReal": "succeeded",
"installReal": "unfinished",
- "startTests": "unfinished",
- "endTests": "unfinished",
- "deactivateTester": "unfinished",
- "report": "unfinished"
+ "report": "succeeded"
},
"tasks": {
"deploy": "succeeded",
@@ -581,19 +576,13 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "succeeded",
- "installTester": "succeeded",
"deployReal": "succeeded",
"installReal": "succeeded",
- "startTests": "succeeded",
- "endTests": "succeeded",
- "deactivateTester": "succeeded",
"report": "succeeded"
},
"tasks": {
"deploy": "succeeded",
- "install": "succeeded",
- "test": "succeeded"
+ "install": "succeeded"
},
"log": "https://some.url:43/root/production-us-central-1/run/2"
},
@@ -615,19 +604,13 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "succeeded",
- "installTester": "succeeded",
"deployReal": "succeeded",
"installReal": "succeeded",
- "startTests": "succeeded",
- "endTests": "succeeded",
- "deactivateTester": "succeeded",
"report": "succeeded"
},
"tasks": {
"deploy": "succeeded",
- "install": "succeeded",
- "test": "succeeded"
+ "install": "succeeded"
},
"log": "https://some.url:43/root/production-us-central-1/run/1"
}
@@ -789,9 +772,9 @@
},
{
"id": 2,
- "status": "testFailure",
+ "status": "installationFailed",
"start": 1000,
- "end": 1000,
+ "end": 3602000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.2-commit1",
@@ -817,19 +800,13 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "succeeded",
- "installTester": "succeeded",
"deployReal": "succeeded",
- "installReal": "succeeded",
- "startTests": "succeeded",
- "endTests": "failed",
- "deactivateTester": "succeeded",
+ "installReal": "failed",
"report": "succeeded"
},
"tasks": {
"deploy": "succeeded",
- "install": "succeeded",
- "test": "failed"
+ "install": "failed"
},
"log": "https://some.url:43/root/production-us-west-1/run/2"
},
@@ -851,19 +828,13 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "succeeded",
- "installTester": "succeeded",
"deployReal": "succeeded",
"installReal": "succeeded",
- "startTests": "succeeded",
- "endTests": "succeeded",
- "deactivateTester": "succeeded",
"report": "succeeded"
},
"tasks": {
"deploy": "succeeded",
- "install": "succeeded",
- "test": "succeeded"
+ "install": "succeeded"
},
"log": "https://some.url:43/root/production-us-west-1/run/1"
}
@@ -933,16 +904,13 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "failed",
- "installTester": "unfinished",
- "deployReal": "unfinished",
+ "deployReal": "failed",
"installReal": "unfinished",
- "startTests": "unfinished",
- "endTests": "unfinished",
- "deactivateTester": "succeeded",
"report": "succeeded"
},
- "tasks": {},
+ "tasks": {
+ "deploy": "failed"
+ },
"log": "https://some.url:43/root/production-us-east-3/run/2"
},
{
@@ -963,19 +931,13 @@
"commit": "commit1"
},
"steps": {
- "deployTester": "succeeded",
- "installTester": "succeeded",
"deployReal": "succeeded",
"installReal": "succeeded",
- "startTests": "succeeded",
- "endTests": "succeeded",
- "deactivateTester": "succeeded",
"report": "succeeded"
},
"tasks": {
"deploy": "succeeded",
- "install": "succeeded",
- "test": "succeeded"
+ "install": "succeeded"
},
"log": "https://some.url:43/root/production-us-east-3/run/1"
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json
index 4238ce4b834..a7825681f4b 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-runs.json
@@ -94,8 +94,8 @@
"3": {
"id": 3,
"status": "success",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
@@ -146,8 +146,8 @@
"4": {
"id": 4,
"status": "installationFailed",
- "start": 2000,
- "end": 2000,
+ "start": 3603000,
+ "end": 3603000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
@@ -194,8 +194,8 @@
"5": {
"id": 5,
"status": "installationFailed",
- "start": 102000,
- "end": 102000,
+ "start": 3703000,
+ "end": 3703000,
"wantedPlatform": "6.1",
"wantedApplication": {
"hash": "1.0.3-commit1",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json
index 273887c26c4..8ade8795c86 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json
@@ -4,122 +4,122 @@
"log": {
"deployTester": [
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "No services requiring restart."
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "Deployment successful."
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "foo"
}
],
"installTester": [
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "host-tenant:application:default-t-staging.us-east-3: unorchestrated"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- platform 6.1"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- container on port 43 has config generation 1, wanted is 2"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "host-tenant:application:default-t-staging.us-east-3: unorchestrated"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- platform 6.1"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- container on port 43 has config generation 1, wanted is 2"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "host-tenant:application:default-t-staging.us-east-3: unorchestrated"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- platform 6.1"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- container on port 43 has config generation 1, wanted is 2"
}
],
"deployInitialReal": [
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "Deploying platform version 6.1 and application version 1.0.1-commit1 ..."
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "No services requiring restart."
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "Deployment successful."
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "foo"
}
],
"installInitialReal": [
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "host-tenant:application:default-staging.us-east-3: unorchestrated"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- platform 6.1"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "--- container on port 43 has config generation 1, wanted is 2"
},
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "Deployment expired before installation was successful."
}
],
"deactivateReal": [
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "Deactivating deployment of tenant.application in staging.us-east-3 ..."
}
],
"deactivateTester": [
{
- "at": 102000,
+ "at": 3703000,
"type": "info",
"message": "Deactivating tester of tenant.application in staging.us-east-3 ..."
}
@@ -129,19 +129,19 @@
"steps": {
"deployTester": {
"status": "succeeded",
- "startMillis": 102000
+ "startMillis": 3703000
},
"installTester": {
"status": "unfinished",
- "startMillis": 102000
+ "startMillis": 3703000
},
"deployInitialReal": {
"status": "succeeded",
- "startMillis": 102000
+ "startMillis": 3703000
},
"installInitialReal": {
"status": "failed",
- "startMillis": 102000,
+ "startMillis": 3703000,
"convergence": {
"nodes": 1,
"down": 0,
@@ -177,19 +177,19 @@
},
"copyVespaLogs": {
"status": "succeeded",
- "startMillis": 102000
+ "startMillis": 3703000
},
"deactivateReal": {
"status": "succeeded",
- "startMillis": 102000
+ "startMillis": 3703000
},
"deactivateTester": {
"status": "succeeded",
- "startMillis": 102000
+ "startMillis": 3703000
},
"report": {
"status": "succeeded",
- "startMillis": 102000
+ "startMillis": 3703000
}
}
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/us-east-3-log-without-first.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/us-east-3-log-without-first.json
index 0fa4c541832..6c9315ca64b 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/us-east-3-log-without-first.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/us-east-3-log-without-first.json
@@ -1,50 +1,27 @@
{
+ "active": false,
+ "status": "deploymentFailed",
"log": {
- "deployTester": [
+ "deployReal": [
{
"at": 1000,
"type": "info",
"message": "Failed to deploy application: ERROR!"
}
- ],
- "deactivateTester": [
- {
- "at": 1000,
- "type": "info",
- "message": "Deactivating tester of tenant.application in prod.us-east-3 ..."
- }
]
},
- "active": false,
- "lastId": 2,
+ "lastId": 1,
"steps": {
- "startTests": {
- "status": "unfinished"
- },
- "deployTester": {
- "startMillis": 1000,
- "status": "failed"
- },
- "report": {
- "startMillis": 1000,
- "status": "succeeded"
- },
- "installTester": {
- "status": "unfinished"
- },
"deployReal": {
- "status": "unfinished"
+ "status": "failed",
+ "startMillis": 1000
},
"installReal": {
"status": "unfinished"
},
- "deactivateTester": {
- "startMillis": 1000,
- "status": "succeeded"
- },
- "endTests": {
- "status": "unfinished"
+ "report": {
+ "status": "succeeded",
+ "startMillis": 1000
}
- },
- "status": "deploymentFailed"
+ }
}