diff options
author | mgimle <michael@gimle.io> | 2019-07-18 15:44:30 +0200 |
---|---|---|
committer | mgimle <michael@gimle.io> | 2019-07-18 15:47:27 +0200 |
commit | 763fdf07974d330d3e36e1fb8a6ee8f701de469e (patch) | |
tree | 67cf4ff038bae5d414746c474d655d4713ca13b8 /node-repository | |
parent | 7000cb8c3cde19a13763af7df593160a0063d4e0 (diff) |
Made the capacity endpoint accept a comma-separated list instead of JSON.
Made the endpoint accept calls which do not end with a trailing slash.
Diffstat (limited to 'node-repository')
3 files changed, 8 insertions, 17 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/HostCapacityResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/HostCapacityResponse.java index 9f5af52cc08..7b0eb38b628 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/HostCapacityResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/HostCapacityResponse.java @@ -42,14 +42,7 @@ public class HostCapacityResponse extends HttpResponse { } private List<Node> parseHostList(String hosts) { - ObjectMapper om = new ObjectMapper(); - String[] hostsArray; - try { - hostsArray = om.readValue(hosts, String[].class); - } catch (Exception e) { - throw new IllegalArgumentException(e.getMessage()); - } - List<String> hostNames = Arrays.asList(hostsArray); + List<String> hostNames = Arrays.asList(hosts.split(",")); try { return capacityChecker.nodesFromHostnames(hostNames); } catch (IllegalArgumentException e) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java index e036124e489..b2f0998189d 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesApiHandler.java @@ -102,7 +102,7 @@ public class NodesApiHandler extends LoggingRequestHandler { if (path.equals( "/nodes/v2/command/")) return ResourcesResponse.fromStrings(request.getUri(), "restart", "reboot"); if (path.equals( "/nodes/v2/maintenance/")) return new JobsResponse(nodeRepository.jobControl()); if (path.equals( "/nodes/v2/upgrade/")) return new UpgradeResponse(nodeRepository.infrastructureVersions(), nodeRepository.osVersions(), nodeRepository.dockerImages()); - if (path.startsWith("/nodes/v2/capacity/")) return new HostCapacityResponse(nodeRepository, request); + if (path.startsWith("/nodes/v2/capacity")) return new HostCapacityResponse(nodeRepository, request); throw new NotFoundException("Nothing at path '" + path + "'"); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java index 35fa5adaeff..8452e8f93bb 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java @@ -823,17 +823,15 @@ public class RestApiTest { @Test public void test_capacity() throws Exception { assertFile(new Request("http://localhost:8080/nodes/v2/capacity/?json=true"), "capacity-zone.json"); + assertFile(new Request("http://localhost:8080/nodes/v2/capacity?json=true"), "capacity-zone.json"); List<String> hostsToRemove = List.of( - "%22dockerhost1.yahoo.com%22", - "%22dockerhost2.yahoo.com%22", - "%22dockerhost3.yahoo.com%22", - "%22dockerhost4.yahoo.com%22" + "dockerhost1.yahoo.com", + "dockerhost2.yahoo.com", + "dockerhost3.yahoo.com", + "dockerhost4.yahoo.com" ); - String requestUriTemplate = - "http://localhost:8080/nodes/v2/capacity/?json=true&hosts=[%s]" - .replaceAll("\\[", "%%5B") - .replaceAll("]", "%%5D"); + String requestUriTemplate = "http://localhost:8080/nodes/v2/capacity/?json=true&hosts=%s"; assertFile(new Request(String.format(requestUriTemplate, String.join(",", hostsToRemove.subList(0, 3)))), |