summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-07-10 20:46:50 +0200
committerMartin Polden <mpolden@mpolden.no>2023-07-10 20:46:50 +0200
commit53744f54af44b6024d4002ba69cf34feaac1b134 (patch)
tree1741572c79eeb698992023bcdaa0930aee9e5cfc
parent954ed0a3a766edf7f05bcf1ee9710a44a7b52551 (diff)
Include cluster
-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/search-deployments-multi.json3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-single.json1
3 files changed, 12 insertions, 6 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 b055157fc84..daa64ddb07f 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
@@ -328,13 +328,14 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
endpoint = URI.create(endpoint).getHost();
}
List<Application> applications = controller.applications().asList();
- List<DeploymentId> deploymentTargets = new ArrayList<>();
+ record EndpointTarget(DeploymentId deployment, ClusterSpec.Id cluster) {}
+ List<EndpointTarget> targets = new ArrayList<>();
out:
for (var app : applications) {
Optional<Endpoint> declaredEndpoint = controller.routing().declaredEndpointsOf(app).dnsName(endpoint);
if (declaredEndpoint.isPresent()) {
for (var target : declaredEndpoint.get().targets()) {
- deploymentTargets.add(target.deployment());
+ targets.add(new EndpointTarget(target.deployment(), declaredEndpoint.get().cluster()));
}
break;
} else {
@@ -344,7 +345,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
Optional<Endpoint> matchingEndpoint = controller.routing().readEndpointsOf(id).dnsName(endpoint);
if (matchingEndpoint.isPresent()) {
for (var target : matchingEndpoint.get().targets()) {
- deploymentTargets.add(target.deployment());
+ targets.add(new EndpointTarget(target.deployment(), matchingEndpoint.get().cluster()));
}
break out;
}
@@ -355,8 +356,8 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
Slime slime = new Slime();
Cursor root = slime.setObject();
Cursor deploymentArray = root.setArray("deployments");
- for (var deployment : deploymentTargets) {
- toSlime(deployment, deploymentArray.addObject(), request);
+ for (var target : targets) {
+ toSlime(target.deployment, target.cluster, deploymentArray.addObject(), request);
}
return new SlimeJsonResponse(slime);
}
@@ -3081,12 +3082,13 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
request.getUri()).toString());
}
- private void toSlime(DeploymentId id, Cursor object, HttpRequest request) {
+ private void toSlime(DeploymentId id, ClusterSpec.Id cluster, Cursor object, HttpRequest request) {
object.setString("tenant", id.applicationId().tenant().value());
object.setString("application", id.applicationId().application().value());
object.setString("instance", id.applicationId().instance().value());
object.setString("environment", id.zoneId().environment().value());
object.setString("region", id.zoneId().region().value());
+ object.setString("cluster", cluster.value());
object.setString("url", withPath("/application/v4" +
"/tenant/" + id.applicationId().tenant().value() +
"/application/" + id.applicationId().application().value() +
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-multi.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-multi.json
index a2ee939414c..8eded55ad64 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-multi.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-multi.json
@@ -6,6 +6,7 @@
"instance": "instance1",
"environment": "prod",
"region": "us-central-1",
+ "cluster": "foo",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-central-1"
},
{
@@ -14,6 +15,7 @@
"instance": "instance1",
"environment": "prod",
"region": "us-east-3",
+ "cluster": "foo",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-east-3"
},
{
@@ -22,6 +24,7 @@
"instance": "instance1",
"environment": "prod",
"region": "us-west-1",
+ "cluster": "foo",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-west-1"
}
]
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-single.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-single.json
index 5364a03a6c4..ef524c300dc 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-single.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/search-deployments-single.json
@@ -6,6 +6,7 @@
"instance": "instance1",
"environment": "prod",
"region": "us-central-1",
+ "cluster": "default",
"url": "http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-central-1"
}
]