diff options
author | Martin Polden <mpolden@mpolden.no> | 2023-01-03 11:41:03 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2023-01-03 11:41:03 +0100 |
commit | b6ca17dbbb33d2057f350054dbe07bce60253918 (patch) | |
tree | 1970a63bd1e228a0090ea401e933571931df77c0 /controller-server | |
parent | 0606d3e28d68502e10e079ef9a90f5a5cd857d5a (diff) |
Handle unknown instance in routing API
Diffstat (limited to 'controller-server')
2 files changed, 7 insertions, 1 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java index 4184601179f..232f25f5674 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java @@ -252,7 +252,7 @@ public class RoutingApiHandler extends AuditLoggingRequestHandler { for (var application : applications) { var instances = instanceId == null ? application.instances().values() - : List.of(application.instances().get(instanceId.instance())); + : List.of(application.require(instanceId.instance())); EndpointList declaredEndpoints = controller.routing().declaredEndpointsOf(application); for (var instance : instances) { var zones = zoneId == null diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiTest.java index cb402d700e2..b90c886f10d 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiTest.java @@ -215,6 +215,12 @@ public class RoutingApiTest extends ControllerContainerTest { "", Request.Method.GET), new File("rotation/deployment-status-initial.json")); + // GET initial deployment status: unknown instance + tester.assertResponse(operatorRequest("http://localhost:8080/routing/v1/status/tenant/tenant/application/application/instance/foo/environment/prod/region/us-west-1", + "", Request.Method.GET), + "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Unknown instance 'foo' in 'tenant.application'\"}", + 400); + // POST sets deployment out tester.assertResponse(operatorRequest("http://localhost:8080/routing/v1/inactive/tenant/tenant/application/application/instance/default/environment/prod/region/us-west-1", "", Request.Method.POST), |