summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2019-04-05 11:58:19 +0200
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2019-04-05 11:58:19 +0200
commit96aeb3d743a51a95ba83363a31ed71c404fc82b2 (patch)
tree3d431e4f2e07af649679d3e6f6d6b40db6403f1d /controller-server
parent8a2cb4a349de1f7cc44f7e36a1a40c824e39912b (diff)
Include more context (keys) in application/v4 responses
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java17
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference-2.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-without-change-multiple-deployments.json13
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application.json7
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application1-recursive.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-majorVersion.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment.json5
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-west-1.json4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/prod-us-central-1.json8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json1
13 files changed, 44 insertions, 17 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 fb27247c48a..8f58827d33a 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
@@ -367,6 +367,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
}
private void toSlime(Cursor object, Application application, HttpRequest request) {
+ object.setString("tenant", application.id().tenant().value());
object.setString("application", application.id().application().value());
object.setString("instance", application.id().instance().value());
object.setString("deployments", withPath("/application/v4" +
@@ -456,21 +457,22 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
for (Deployment deployment : deployments) {
Cursor deploymentObject = instancesArray.addObject();
- 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() && deployment.zone().environment() == Environment.prod) {
toSlime(application.rotationStatus(deployment), deploymentObject);
}
if (recurseOverDeployments(request)) // List full deployment information when recursive.
toSlime(deploymentObject, new DeploymentId(application.id(), deployment.zone()), deployment, request);
- else
+ else {
+ deploymentObject.setString("environment", deployment.zone().environment().value());
+ deploymentObject.setString("region", deployment.zone().region().value());
+ deploymentObject.setString("instance", application.id().instance().value()); // pointless
deploymentObject.setString("url", withPath(request.getUri().getPath() +
"/environment/" + deployment.zone().environment().value() +
"/region/" + deployment.zone().region().value() +
"/instance/" + application.id().instance().value(),
request.getUri()).toString());
+ }
}
// Metrics
@@ -516,6 +518,12 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
private void toSlime(Cursor response, DeploymentId deploymentId, Deployment deployment, HttpRequest request) {
+ response.setString("tenant", deploymentId.applicationId().tenant().value());
+ response.setString("application", deploymentId.applicationId().application().value());
+ response.setString("instance", deploymentId.applicationId().instance().value()); // pointless
+ response.setString("environment", deploymentId.zoneId().environment().value());
+ response.setString("region", deploymentId.zoneId().region().value());
+
Cursor serviceUrlArray = response.setArray("serviceUrls");
controller.applications().getDeploymentEndpoints(deploymentId)
.ifPresent(endpoints -> endpoints.forEach(endpoint -> serviceUrlArray.addString(endpoint.toString())));
@@ -1154,6 +1162,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
}
private void toSlime(Application application, Cursor object, HttpRequest request) {
+ object.setString("tenant", application.id().tenant().value());
object.setString("application", application.id().application().value());
object.setString("instance", application.id().instance().value());
object.setString("url", withPath("/application/v4/tenant/" + application.id().tenant().value() +
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json
index c31a47cb5b2..cd531bb96da 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-cluster-global-rotation.json
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant1",
"application": "application1",
"instance": "default",
"deployments": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/default/job/",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference-2.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference-2.json
index a4026d6a812..ff22b95739d 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference-2.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference-2.json
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant2",
"application": "application2",
"instance": "default",
"url": "http://localhost:8080/application/v4/tenant/tenant2/application/application2"
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference.json
index 1ec229a2b4a..1d56944f6bc 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-reference.json
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant1",
"application":"application1",
"instance":"default",
"url":"http://localhost:8080/application/v4/tenant/tenant1/application/application1"
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 9f65b5952e1..f2f38f7f509 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
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant1",
"application": "application1",
"instance": "default",
"deployments": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/default/job/",
@@ -237,21 +238,21 @@
"rotationId": "rotation-id-1",
"instances": [
{
- "environment": "prod",
- "region": "us-west-1",
- "instance": "default",
"bcpStatus": {
"rotationStatus": "IN"
},
+ "environment": "prod",
+ "region": "us-west-1",
+ "instance": "default",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/environment/prod/region/us-west-1/instance/default"
},
{
- "environment": "prod",
- "region": "us-east-3",
- "instance": "default",
"bcpStatus": {
"rotationStatus": "UNKNOWN"
},
+ "environment": "prod",
+ "region": "us-east-3",
+ "instance": "default",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/environment/prod/region/us-east-3/instance/default"
}
],
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 3744e44152a..22e8573b1d4 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
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant1",
"application": "application1",
"instance": "default",
"deployments": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/default/job/",
@@ -231,12 +232,12 @@
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/environment/dev/region/us-west-1/instance/default"
},
{
- "environment": "prod",
- "region": "us-central-1",
- "instance": "default",
"bcpStatus": {
"rotationStatus": "UNKNOWN"
},
+ "environment": "prod",
+ "region": "us-central-1",
+ "instance": "default",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/environment/prod/region/us-central-1/instance/default"
}
],
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 822bc447d8d..662e045d169 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
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant1",
"application": "application1",
"instance": "default",
"deployments": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/default/job/",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-majorVersion.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-majorVersion.json
index 55803074ade..1477e18b4b8 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-majorVersion.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2-with-majorVersion.json
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant2",
"application": "application2",
"instance": "default",
"deployments": "http://localhost:8080/application/v4/tenant/tenant2/application/application2/instance/default/job/",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json
index 2c34e5ae712..3063bb62b7e 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application2.json
@@ -1,4 +1,5 @@
{
+ "tenant": "tenant2",
"application": "application2",
"instance": "default",
"deployments": "http://localhost:8080/application/v4/tenant/tenant2/application/application2/instance/default/job/",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment.json
index ac1797986fc..af21260676c 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/deployment.json
@@ -1,4 +1,9 @@
{
+ "tenant": "tenant1",
+ "application": "application1",
+ "instance": "default",
+ "environment": "prod",
+ "region": "us-central-1",
"serviceUrls": [
"http://old-endpoint.vespa.yahooapis.com:4080",
"http://qrs-endpoint.vespa.yahooapis.com:4080",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-west-1.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-west-1.json
index 65ea3925d8c..54e94c4521e 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-west-1.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-west-1.json
@@ -1,7 +1,9 @@
{
+ "tenant": "tenant1",
+ "application": "application1",
+ "instance": "default",
"environment": "dev",
"region": "us-west-1",
- "instance": "default",
"serviceUrls": [
"http://old-endpoint.vespa.yahooapis.com:4080",
"http://qrs-endpoint.vespa.yahooapis.com:4080",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/prod-us-central-1.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/prod-us-central-1.json
index a3380d823f3..cfefe629b9a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/prod-us-central-1.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/prod-us-central-1.json
@@ -1,10 +1,12 @@
{
- "environment": "prod",
- "region": "us-central-1",
- "instance": "default",
"bcpStatus": {
"rotationStatus": "UNKNOWN"
},
+ "tenant": "tenant1",
+ "application": "application1",
+ "instance": "default",
+ "environment": "prod",
+ "region": "us-central-1",
"serviceUrls": [
"http://old-endpoint.vespa.yahooapis.com:4080",
"http://qrs-endpoint.vespa.yahooapis.com:4080",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json
index ad8e65692b4..b222c33291c 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json
@@ -5,6 +5,7 @@
"property": "property1",
"applications": [
{
+ "tenant": "tenant1",
"application":"application1",
"instance":"default",
"url":"http://localhost:8080/application/v4/tenant/tenant1/application/application1"