summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2019-07-30 01:12:11 +0000
committerGerrit Code Review <review@openstack.org>2019-07-30 01:12:11 +0000
commita010638de0b73d4c321616e1e2af82284d006795 (patch)
tree8babb43a4363645db9b5612f277bb3c8fa5e38a2
parentcf61a26f22b716711c5064e23da89179ccc28d18 (diff)
parent45c259afd0f3cc0689cc2850ce35ff99d3b97a27 (diff)
downloadheat-a010638de0b73d4c321616e1e2af82284d006795.tar.gz
Merge "Do not perform the tenant stack limit check for admin user" into stable/rocky
-rw-r--r--heat/engine/service.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/heat/engine/service.py b/heat/engine/service.py
index 3b5b7c1d7..7cac61d2b 100644
--- a/heat/engine/service.py
+++ b/heat/engine/service.py
@@ -663,11 +663,13 @@ class EngineService(service.ServiceBase):
if stack_object.Stack.get_by_name(cnxt, stack_name):
raise exception.StackExists(stack_name=stack_name)
- tenant_limit = cfg.CONF.max_stacks_per_tenant
- if stack_object.Stack.count_all(cnxt) >= tenant_limit:
- message = _("You have reached the maximum stacks per tenant, "
- "%d. Please delete some stacks.") % tenant_limit
- raise exception.RequestLimitExceeded(message=message)
+ # Do not stack limit check for admin since admin can see all stacks.
+ if not cnxt.is_admin:
+ tenant_limit = cfg.CONF.max_stacks_per_tenant
+ if stack_object.Stack.count_all(cnxt) >= tenant_limit:
+ message = _("You have reached the maximum stacks per tenant, "
+ "%d. Please delete some stacks.") % tenant_limit
+ raise exception.RequestLimitExceeded(message=message)
self._validate_template(cnxt, parsed_template)
def _validate_template(self, cnxt, parsed_template):