aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2022-09-16 14:41:10 +0200
committerGitHub <noreply@github.com>2022-09-16 14:41:10 +0200
commit5348b053e687ef8e7dd3ebcb0d676fc39d9f423b (patch)
treed58e9d0982f8e7d5d994941d24d722abbb3bd640 /controller-server
parentdbf46805190b41f461acca68955b23e47662dd66 (diff)
parent07ba2cb2d8a0e226f63526b7bece2aa6cd732c27 (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')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java3
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