summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2020-01-16 09:13:40 +0100
committerGitHub <noreply@github.com>2020-01-16 09:13:40 +0100
commit347cc1b133a566006a9edd980c15b263014d184b (patch)
tree556a86cc9e952a257ff3e9205db77261b9c2dd1b /controller-server
parent1032436c17935fa0da7aadf75cce6a51e0197756 (diff)
parent46ba71c23d5a11a0307e82bbb470f7fde7a78214 (diff)
Merge pull request #11784 from vespa-engine/jvenstad/dummy-deployments-in-instance-deployments-response
Add dummy objects for new deployments to list in instance response.
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java13
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance.json8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance1-recursive.json10
4 files changed, 31 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 62f97c24071..b8e10b737e3 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -954,6 +954,8 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
if (!instance.rotations().isEmpty()) {
toSlime(instance.rotations(), instance.rotationStatus(), deployment, deploymentObject);
}
+
+
}
if (recurseOverDeployments(request)) // List full deployment information when recursive.
@@ -968,6 +970,17 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
request.getUri()).toString());
}
}
+ // Add dummy values for not-yet-existent prod deployments.
+ status.jobSteps().keySet().stream()
+ .filter(job -> job.application().instance().equals(instance.name()))
+ .filter(job -> job.type().isProduction() && job.type().isDeployment())
+ .map(job -> job.type().zone(controller.system()))
+ .filter(zone -> ! instance.deployments().containsKey(zone))
+ .forEach(zone -> {
+ Cursor deploymentObject = instancesArray.addObject();
+ deploymentObject.setString("environment", zone.environment().value());
+ deploymentObject.setString("region", zone.region().value());
+ });
// TODO jonmv: Remove when clients are updated
application.deployKeys().stream().findFirst().ifPresent(key -> object.setString("pemDeployKey", KeyUtils.toPem(key)));
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 546b97dbaab..96441774df7 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
@@ -135,7 +135,6 @@ class JobControllerApiHandlerHelper {
Deployment deployment = instance.deployments().get(zone);
if (deployment != null)
deploymentToSlime(deploymentsObject.setObject(zone.region().value()),
- instance,
change,
pendingProduction,
running,
@@ -239,7 +238,7 @@ class JobControllerApiHandlerHelper {
lastApplicationObject.setString("pending", "Waiting for current deployment to complete");
}
- private static void deploymentToSlime(Cursor deploymentObject, Instance instance, Change change,
+ private static void deploymentToSlime(Cursor deploymentObject, Change change,
Map<JobType, Versions> pendingProduction, Map<JobType, Run> running,
JobType type, JobStatus jobStatus, Deployment deployment) {
deploymentObject.setLong("at", deployment.at().toEpochMilli());
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance.json
index d1197be4392..fd8bc256ac5 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance.json
@@ -270,6 +270,14 @@
"region": "us-central-1",
"instance": "instance1",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-central-1"
+ },
+ {
+ "environment": "prod",
+ "region": "us-east-3"
+ },
+ {
+ "environment": "prod",
+ "region": "us-west-1"
}
],
"pemDeployKeys": [],
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance1-recursive.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance1-recursive.json
index fb77cfef270..ee75d129241 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance1-recursive.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/instance1-recursive.json
@@ -248,7 +248,15 @@
"rotationId": "rotation-id-1",
"instances": [
@include(dev-us-east-1.json),
- @include(prod-us-central-1.json)
+ @include(prod-us-central-1.json),
+ {
+ "environment": "prod",
+ "region": "us-east-3"
+ },
+ {
+ "environment": "prod",
+ "region": "us-west-1"
+ }
],
"pemDeployKeys": [],
"metrics": {