summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Bratseth <jonbratseth@yahoo.com>2017-12-13 16:10:20 +0100
committerGitHub <noreply@github.com>2017-12-13 16:10:20 +0100
commitd831c170de2293c131e55b1c851abb3713c9c0f7 (patch)
treee8871aa4e6c4d6dc6a64041f528c820b1aa3e845 /controller-server
parentad36b949f9af80844afc53e4a36b740bd6ed8fc7 (diff)
parentf17de3c278d6b573d430a43184d69b27e0c96c5a (diff)
Merge pull request #4433 from vespa-engine/mpolden/expose-assigned-rotation-in-api
Expose assigned rotation in application API
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java14
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-without-change-multiple-deployments.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-recursive.json1
4 files changed, 12 insertions, 5 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 4e3b96b40df..2e5113908ab 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
@@ -379,10 +379,10 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
// Rotation
Cursor globalRotationsArray = object.setArray("globalRotations");
- Map<String, RotationStatus> rotationHealthStatus = application.rotation()
- .map(rotation -> controller.getHealthStatus(rotation.dnsName()))
- .orElse(Collections.emptyMap());
- application.rotation().ifPresent(rotation -> globalRotationsArray.addString(rotation.url().toString()));
+ application.rotation().ifPresent(rotation -> {
+ globalRotationsArray.addString(rotation.url().toString());
+ object.setString("rotationId", rotation.id().asString());
+ });
// Deployments sorted according to deployment spec
List<Deployment> deployments = controller.applications().deploymentTrigger()
@@ -395,8 +395,12 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
deploymentObject.setString("environment", deployment.zone().environment().value());
deploymentObject.setString("region", deployment.zone().region().value());
deploymentObject.setString("instance", application.id().instance().value()); // pointless
- if (application.rotation().isPresent())
+ if (application.rotation().isPresent()) {
+ Map<String, RotationStatus> rotationHealthStatus = application.rotation()
+ .map(rotation -> controller.getHealthStatus(rotation.dnsName()))
+ .orElse(Collections.emptyMap());
setRotationStatus(deployment, rotationHealthStatus, deploymentObject);
+ }
if (recurseOverDeployments(request)) // List full deployment information when recursive.
toSlime(deploymentObject, new DeploymentId(application.id(), deployment.zone()), deployment, request);
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-without-change-multiple-deployments.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-without-change-multiple-deployments.json
index 961e005bfbd..e46c755e8bf 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-without-change-multiple-deployments.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-without-change-multiple-deployments.json
@@ -207,6 +207,7 @@
"globalRotations": [
"http://application1.tenant1.global.vespa.yahooapis.com:4080/"
],
+ "rotationId": "rotation-id-1",
"instances": [
{
"environment": "prod",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application.json
index 3924cf51ca9..b5ed2d407df 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application.json
@@ -148,6 +148,7 @@
"globalRotations": [
"http://application1.tenant1.global.vespa.yahooapis.com:4080/"
],
+ "rotationId": "rotation-id-1",
"instances": [
{
"environment": "dev",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-recursive.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-recursive.json
index 5030fc7d0a6..caca0ad8970 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-recursive.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-recursive.json
@@ -148,6 +148,7 @@
"globalRotations": [
"http://application1.tenant1.global.vespa.yahooapis.com:4080/"
],
+ "rotationId": "rotation-id-1",
"instances": [
@include(dev-us-west-1.json),
@include(prod-corp-us-east-1.json)