aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2023-08-01 14:34:15 +0200
committerGitHub <noreply@github.com>2023-08-01 14:34:15 +0200
commitafb72633ea0f23246cb884eeef152ee13b5b7106 (patch)
tree5cdd55a76c0b90c9605e6c830102b896d1ad71e6 /configserver
parentdbca1fc15df25df7ea23ba88aa628ea1b7bbc446 (diff)
parent39dfa11f01afb3623279a2c05457c5036f488ec3 (diff)
Merge pull request #27939 from vespa-engine/mpolden/add-cluster-name
Add cluster name to service convergence response
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java18
2 files changed, 11 insertions, 8 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java
index 61fe2f77224..bd6e0f90b54 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandler.java
@@ -449,6 +449,7 @@ public class ApplicationHandler extends HttpHandler {
Cursor serviceObject = serviceArray.addObject();
String hostName = serviceInfo.getHostName();
int statePort = ConfigConvergenceChecker.getStatePort(serviceInfo).get();
+ serviceInfo.getProperty("clustername").ifPresent(clusterName -> serviceObject.setString("clusterName", clusterName));
serviceObject.setString("host", hostName);
serviceObject.setLong("port", statePort);
serviceObject.setString("type", serviceInfo.getServiceType());
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
index 306ba6da6f9..7a0ab6d2a23 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java
@@ -668,7 +668,7 @@ public class ApplicationHandlerTest {
{
HttpServiceListResponse response =
- new HttpServiceListResponse(new ServiceListResponse(Map.of(createServiceInfo(hostname, port), 3L),
+ new HttpServiceListResponse(new ServiceListResponse(Map.of(createServiceInfo(hostname, port, Optional.empty()), 3L),
3L,
3L),
requestUrl);
@@ -698,8 +698,8 @@ public class ApplicationHandlerTest {
URI serviceUrl2 = URI.create("https://configserver/serviceconvergence/" + hostAndPort2);
Map<ServiceInfo, Long> serviceInfos = new HashMap<>();
- serviceInfos.put(createServiceInfo(hostname, port), 4L);
- serviceInfos.put(createServiceInfo(hostname2, port2), 3L);
+ serviceInfos.put(createServiceInfo(hostname, port, Optional.empty()), 4L);
+ serviceInfos.put(createServiceInfo(hostname2, port2, Optional.of("foo")), 3L);
HttpServiceListResponse response =
new HttpServiceListResponse(new ServiceListResponse(serviceInfos,
@@ -712,18 +712,19 @@ public class ApplicationHandlerTest {
" \"host\": \"" + hostname + "\",\n" +
" \"port\": " + port + ",\n" +
" \"type\": \"container\",\n" +
- " \"url\": \"" + serviceUrl.toString() + "\",\n" +
+ " \"url\": \"" + serviceUrl + "\",\n" +
" \"currentGeneration\":" + 4 + "\n" +
" },\n" +
" {\n" +
+ " \"clusterName\": \"foo\",\n" +
" \"host\": \"" + hostname2 + "\",\n" +
" \"port\": " + port2 + ",\n" +
" \"type\": \"container\",\n" +
- " \"url\": \"" + serviceUrl2.toString() + "\",\n" +
+ " \"url\": \"" + serviceUrl2 + "\",\n" +
" \"currentGeneration\":" + 3 + "\n" +
" }\n" +
" ],\n" +
- " \"url\": \"" + requestUrl.toString() + "\",\n" +
+ " \"url\": \"" + requestUrl + "\",\n" +
" \"currentGeneration\": 3,\n" +
" \"wantedGeneration\": 4,\n" +
" \"converged\": false\n" +
@@ -899,11 +900,12 @@ public class ApplicationHandlerTest {
assertEquals(status, response.getStatus());
}
- private ServiceInfo createServiceInfo(String hostname, int port) {
+ private ServiceInfo createServiceInfo(String hostname, int port, Optional<String> clusterName) {
return new ServiceInfo("container",
"container",
List.of(new PortInfo(port, List.of("state"))),
- Map.of(),
+ clusterName.map(name -> Map.of("clustername", name))
+ .orElseGet(Map::of),
"configId",
hostname);
}