diff options
author | Harald Musum <musum@verizonmedia.com> | 2023-08-01 14:34:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-01 14:34:15 +0200 |
commit | afb72633ea0f23246cb884eeef152ee13b5b7106 (patch) | |
tree | 5cdd55a76c0b90c9605e6c830102b896d1ad71e6 /configserver | |
parent | dbca1fc15df25df7ea23ba88aa628ea1b7bbc446 (diff) | |
parent | 39dfa11f01afb3623279a2c05457c5036f488ec3 (diff) |
Merge pull request #27939 from vespa-engine/mpolden/add-cluster-name
Add cluster name to service convergence response
Diffstat (limited to 'configserver')
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); } |