diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2022-09-16 14:41:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-16 14:41:10 +0200 |
commit | 5348b053e687ef8e7dd3ebcb0d676fc39d9f423b (patch) | |
tree | d58e9d0982f8e7d5d994941d24d722abbb3bd640 /controller-server | |
parent | dbf46805190b41f461acca68955b23e47662dd66 (diff) | |
parent | 07ba2cb2d8a0e226f63526b7bece2aa6cd732c27 (diff) |
Merge pull request #24097 from vespa-engine/ogronnesby/deleted-tenants-do-not-exist
Do not say deleted tenants already exist
Diffstat (limited to 'controller-server')
2 files changed, 7 insertions, 2 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java index beba1cdb358..563c59630d1 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java @@ -189,8 +189,12 @@ public class TenantController { } private void requireNonExistent(TenantName name) { + var tenant = get(name, true); + if (tenant.isPresent() && tenant.get().type().equals(Tenant.Type.deleted)) { + throw new IllegalArgumentException("Tenant '" + name + "' cannot be created, try a different name"); + } if (SystemApplication.TENANT.equals(name) - || get(name, true).isPresent() + || tenant.isPresent() // Underscores are allowed in existing tenant names, but tenants with - and _ cannot co-exist. E.g. // my-tenant cannot be created if my_tenant exists. || get(name.value().replace('-', '_')).isPresent()) { diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java index e3292700432..fee97b4e157 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java @@ -925,7 +925,8 @@ public class ApplicationApiTest extends ControllerContainerTest { tester.assertResponse(request("/application/v4/tenant/tenant1", POST).userIdentity(USER_ID) .data("{\"athensDomain\":\"domain1\", \"property\":\"property1\"}") .oAuthCredentials(OKTA_CREDENTIALS), - "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Tenant 'tenant1' already exists\"}", 400); + """ + {"error-code":"BAD_REQUEST","message":"Tenant 'tenant1' cannot be created, try a different name"}""", 400); // Forget a deleted tenant |