From 22b14ff975f885c26b861d4d1b22577cca189e04 Mon Sep 17 00:00:00 2001 From: Nakul Dahiwade Date: Fri, 17 Aug 2018 18:46:50 +0000 Subject: [PATCH] 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 --- heat/engine/service.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/heat/engine/service.py b/heat/engine/service.py index aca026c5e2..8745863455 100644 --- a/heat/engine/service.py +++ b/heat/engine/service.py @@ -664,11 +664,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):