summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNakul Dahiwade <nakul.dahiwade@intel.com>2018-08-17 18:46:50 +0000
committerRabi Mishra <ramishra@redhat.com>2019-07-26 04:22:53 +0000
commitcc01d5da4e8b8afc1fe4ca8b250ab0f1020d88eb (patch)
tree41c3152b8a37223495b80e3b04763deea9bbf98d
parent478f752ee4a01bc9f03d99af7e15980b9e45c2db (diff)
downloadheat-cc01d5da4e8b8afc1fe4ca8b250ab0f1020d88eb.tar.gz
Do not perform the tenant stack limit check for admin user
Removing stack creation limit for admin since admin can view all stacks, and stacks created by other tenants would have been counted in the limit check. Change-Id: Ie2e9251245e7e16309661154e17724e5984c21e6 Story: 2003487 Task: 24756 (cherry picked from commit 22b14ff975f885c26b861d4d1b22577cca189e04)
-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 9dc9c1400..b586142cc 100644
--- a/heat/engine/service.py
+++ b/heat/engine/service.py
@@ -668,11 +668,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):