summaryrefslogtreecommitdiff
path: root/heat/engine/service.py
diff options
context:
space:
mode:
Diffstat (limited to 'heat/engine/service.py')
-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):