diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-09-16 14:16:01 +0200 |
---|---|---|
committer | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-09-16 14:16:01 +0200 |
commit | 07ba2cb2d8a0e226f63526b7bece2aa6cd732c27 (patch) | |
tree | b6bc8f2d2000315ca6085fb03b878bfe2c513236 /controller-server | |
parent | 91e38e287c379da711f9921ec8ca92ed5e6c8a91 (diff) |
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 |