summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2019-07-05 16:08:47 +0200
committerGitHub <noreply@github.com>2019-07-05 16:08:47 +0200
commit674994c99fcbaf47ba01a570d82a0c95e17805fc (patch)
treec025448ef9cf80a1e64a56765e4b3d992e6b5aa7
parent847891db69c152e1ca872e3afff27c29fed5eb2c (diff)
parent707db1edda0f41e91fae5e0f27611b46db9c79e0 (diff)
Merge pull request #9977 from vespa-engine/freva/api-fix
Direct deployment job API fix
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java16
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-overview.json40
2 files changed, 31 insertions, 25 deletions
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 cd7c0d6236d..b34ea79c670 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
@@ -6,26 +6,26 @@ import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeploymentSpec;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.NotExistsException;
+import com.yahoo.vespa.hosted.controller.api.integration.LogEntry;
+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.api.integration.deployment.RunId;
-import com.yahoo.config.provision.zone.ZoneId;
-import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion;
+import com.yahoo.vespa.hosted.controller.api.integration.deployment.SourceRevision;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.application.Change;
import com.yahoo.vespa.hosted.controller.application.Deployment;
import com.yahoo.vespa.hosted.controller.application.JobStatus;
-import com.yahoo.vespa.hosted.controller.api.integration.deployment.SourceRevision;
import com.yahoo.vespa.hosted.controller.deployment.DeploymentSteps;
import com.yahoo.vespa.hosted.controller.deployment.JobController;
-import com.yahoo.vespa.hosted.controller.api.integration.LogEntry;
-import com.yahoo.vespa.hosted.controller.deployment.RunLog;
import com.yahoo.vespa.hosted.controller.deployment.Run;
+import com.yahoo.vespa.hosted.controller.deployment.RunLog;
import com.yahoo.vespa.hosted.controller.deployment.Step;
import com.yahoo.vespa.hosted.controller.deployment.Versions;
import com.yahoo.vespa.hosted.controller.restapi.MessageResponse;
@@ -94,14 +94,14 @@ class JobControllerApiHandlerHelper {
Slime slime = new Slime();
Cursor responseObject = slime.setObject();
+ Cursor lastVersionsObject = responseObject.setObject("lastVersions");
if (application.deploymentJobs().statusOf(component).flatMap(JobStatus::lastSuccess).isPresent()) {
- Cursor lastVersionsObject = responseObject.setObject("lastVersions");
lastPlatformToSlime(lastVersionsObject.setObject("platform"), controller, application, change, steps);
lastApplicationToSlime(lastVersionsObject.setObject("application"), application, change, steps, controller);
}
+ Cursor deployingObject = responseObject.setObject("deploying");
if ( ! change.isEmpty()) {
- Cursor deployingObject = responseObject.setObject("deploying");
change.platform().ifPresent(version -> deployingObject.setString("platform", version.toString()));
change.application().ifPresent(version -> applicationVersionToSlime(deployingObject.setObject("application"), version));
}
@@ -141,7 +141,7 @@ class JobControllerApiHandlerHelper {
&& type.environment().isManuallyDeployed()
&& application.deployments().containsKey(type.zone(controller.system())))
controller.jobController().last(application.id(), type)
- .ifPresent(last -> runToSlime(devJobsObject.setObject(type.jobName()),
+ .ifPresent(last -> runToSlime(devJobsObject.setObject(type.jobName()).setArray("runs").addObject(),
last,
baseUriForJobs.resolve(baseUriForJobs.getPath() + "/" + type.jobName()).normalize()));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-overview.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-overview.json
index c845d31a5fc..93b6138d987 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-overview.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-overview.json
@@ -1,25 +1,31 @@
{
+ "lastVersions": {},
+ "deploying": {},
"deployments": [],
"jobs": {},
"devJobs": {
"dev-us-east-1": {
- "id": 1,
- "status": "success",
- "start": 0,
- "end": 0,
- "wantedPlatform": "6.1",
- "wantedApplication": {
- "hash": "unknown"
- },
- "steps": {
- "deployReal": "succeeded",
- "installReal": "succeeded"
- },
- "tasks": {
- "deploy": "succeeded",
- "install": "succeeded"
- },
- "log": "https://some.url:43/root/dev-us-east-1/run/1"
+ "runs": [
+ {
+ "id": 1,
+ "status": "success",
+ "start": 0,
+ "end": 0,
+ "wantedPlatform": "6.1",
+ "wantedApplication": {
+ "hash": "unknown"
+ },
+ "steps": {
+ "deployReal": "succeeded",
+ "installReal": "succeeded"
+ },
+ "tasks": {
+ "deploy": "succeeded",
+ "install": "succeeded"
+ },
+ "log": "https://some.url:43/root/dev-us-east-1/run/1"
+ }
+ ]
}
}
}