summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-01-03 11:41:03 +0100
committerMartin Polden <mpolden@mpolden.no>2023-01-03 11:41:03 +0100
commitb6ca17dbbb33d2057f350054dbe07bce60253918 (patch)
tree1970a63bd1e228a0090ea401e933571931df77c0 /controller-server
parent0606d3e28d68502e10e079ef9a90f5a5cd857d5a (diff)
Handle unknown instance in routing API
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiTest.java6
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),