diff options
Diffstat (limited to 'controller-server')
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": { |