diff --git a/octavia/api/v1/controllers/health_monitor.py b/octavia/api/v1/controllers/health_monitor.py index 2b387a616d..801b5dddc6 100644 --- a/octavia/api/v1/controllers/health_monitor.py +++ b/octavia/api/v1/controllers/health_monitor.py @@ -111,7 +111,9 @@ class HealthMonitorController(base.BaseController): data_models.HealthMonitor, health_monitor.project_id): lock_session.rollback() - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.HealthMonitor._name() + ) try: hm_dict = db_prepare.create_health_monitor( diff --git a/octavia/api/v1/controllers/listener.py b/octavia/api/v1/controllers/listener.py index 4beac91b6d..73bf248dfc 100644 --- a/octavia/api/v1/controllers/listener.py +++ b/octavia/api/v1/controllers/listener.py @@ -173,7 +173,8 @@ class ListenersController(base.BaseController): data_models.Listener, listener.project_id): lock_session.rollback() - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Listener._name()) try: self._secure_data(listener) diff --git a/octavia/api/v1/controllers/load_balancer.py b/octavia/api/v1/controllers/load_balancer.py index 8a4ecea054..be379f80ec 100644 --- a/octavia/api/v1/controllers/load_balancer.py +++ b/octavia/api/v1/controllers/load_balancer.py @@ -184,7 +184,8 @@ class LoadBalancersController(base.BaseController): data_models.LoadBalancer, load_balancer.project_id): lock_session.rollback() - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.LoadBalancer._name()) try: lb_dict = db_prepare.create_load_balancer(load_balancer.to_dict( diff --git a/octavia/api/v1/controllers/member.py b/octavia/api/v1/controllers/member.py index a08642bfc3..637e494a87 100644 --- a/octavia/api/v1/controllers/member.py +++ b/octavia/api/v1/controllers/member.py @@ -110,7 +110,9 @@ class MembersController(base.BaseController): data_models.Member, member.project_id): lock_session.rollback() - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Member._name() + ) try: member_dict = db_prepare.create_member(member.to_dict( diff --git a/octavia/api/v1/controllers/pool.py b/octavia/api/v1/controllers/pool.py index ee6c6b6617..0798110588 100644 --- a/octavia/api/v1/controllers/pool.py +++ b/octavia/api/v1/controllers/pool.py @@ -145,7 +145,8 @@ class PoolsController(base.BaseController): data_models.Pool, pool.project_id): lock_session.rollback() - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Pool._name()) try: pool_dict = db_prepare.create_pool( diff --git a/octavia/api/v2/controllers/health_monitor.py b/octavia/api/v2/controllers/health_monitor.py index e8665df221..70a55757ed 100644 --- a/octavia/api/v2/controllers/health_monitor.py +++ b/octavia/api/v2/controllers/health_monitor.py @@ -178,7 +178,8 @@ class HealthMonitorController(base.BaseController): lock_session, data_models.HealthMonitor, health_monitor.project_id): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.HealthMonitor._name()) hm_dict = db_prepare.create_health_monitor( health_monitor.to_dict(render_unsets=True)) diff --git a/octavia/api/v2/controllers/l7policy.py b/octavia/api/v2/controllers/l7policy.py index 84da069fed..cb945b7e55 100644 --- a/octavia/api/v2/controllers/l7policy.py +++ b/octavia/api/v2/controllers/l7policy.py @@ -145,7 +145,8 @@ class L7PolicyController(base.BaseController): lock_session, data_models.L7Policy, l7policy.project_id): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.L7Policy._name()) l7policy_dict = db_prepare.create_l7policy( l7policy.to_dict(render_unsets=True), diff --git a/octavia/api/v2/controllers/listener.py b/octavia/api/v2/controllers/listener.py index 3ded93d2c6..b9ad01cbee 100644 --- a/octavia/api/v2/controllers/listener.py +++ b/octavia/api/v2/controllers/listener.py @@ -211,7 +211,8 @@ class ListenersController(base.BaseController): lock_session, data_models.Listener, listener.project_id): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Listener._name()) listener_dict = db_prepare.create_listener( listener.to_dict(render_unsets=True), None) diff --git a/octavia/api/v2/controllers/load_balancer.py b/octavia/api/v2/controllers/load_balancer.py index 6bc897f370..2fbfbdeda4 100644 --- a/octavia/api/v2/controllers/load_balancer.py +++ b/octavia/api/v2/controllers/load_balancer.py @@ -264,7 +264,8 @@ class LoadBalancersController(base.BaseController): lock_session, data_models.LoadBalancer, load_balancer.project_id): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.LoadBalancer._name()) db_lb, db_pools, db_lists = None, None, None @@ -398,7 +399,7 @@ class LoadBalancersController(base.BaseController): if pools and self.repositories.check_quota_met( session, lock_session, data_models.Pool, db_lb.project_id, count=len(pools)): - raise exceptions.QuotaException + raise exceptions.QuotaException(resource=data_models.Pool._name()) # Now create all of the pools ahead of the listeners. new_pools = [] @@ -423,7 +424,8 @@ class LoadBalancersController(base.BaseController): if listeners and self.repositories.check_quota_met( session, lock_session, data_models.Listener, db_lb.project_id, count=len(listeners)): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Listener._name()) # Now create all of the listeners new_lists = [] diff --git a/octavia/api/v2/controllers/member.py b/octavia/api/v2/controllers/member.py index c9f9d15168..7c0a9d1b3d 100644 --- a/octavia/api/v2/controllers/member.py +++ b/octavia/api/v2/controllers/member.py @@ -156,7 +156,8 @@ class MemberController(base.BaseController): lock_session, data_models.Member, member.project_id): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Member._name()) member_dict = db_prepare.create_member(member.to_dict( render_unsets=True), self.pool_id, bool(pool.health_monitor)) @@ -312,7 +313,8 @@ class MembersController(MemberController): if member_count_diff > 0 and self.repositories.check_quota_met( context.session, lock_session, data_models.Member, db_pool.project_id, count=member_count_diff): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Member._name()) old_member_uniques = { (m.ip_address, m.protocol_port): m.id for m in old_members} diff --git a/octavia/api/v2/controllers/pool.py b/octavia/api/v2/controllers/pool.py index d45f440b94..ddf52dffa7 100644 --- a/octavia/api/v2/controllers/pool.py +++ b/octavia/api/v2/controllers/pool.py @@ -173,7 +173,8 @@ class PoolsController(base.BaseController): lock_session, data_models.Pool, pool.project_id): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Pool._name()) listener_repo = self.repositories.listener pool_dict = db_prepare.create_pool( @@ -224,7 +225,8 @@ class PoolsController(base.BaseController): if hm and self.repositories.check_quota_met( session, lock_session, data_models.HealthMonitor, db_pool.project_id): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.HealthMonitor._name()) # Now possibly create a healthmonitor new_hm = None @@ -239,7 +241,8 @@ class PoolsController(base.BaseController): if members and self.repositories.check_quota_met( session, lock_session, data_models.Member, db_pool.project_id, count=len(members)): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Member._name()) # Now create members new_members = [] diff --git a/octavia/common/exceptions.py b/octavia/common/exceptions.py index 9ef542df0c..6da0ef42dd 100644 --- a/octavia/common/exceptions.py +++ b/octavia/common/exceptions.py @@ -281,7 +281,7 @@ class InvalidAmphoraOperatingSystem(OctaviaException): class QuotaException(APIException): - msg = _('Quota has been met.') + msg = _('Quota has been met for resources: %(resource)s') code = 403 diff --git a/octavia/db/repositories.py b/octavia/db/repositories.py index 9ac286f0a0..5c7ddfa1d5 100644 --- a/octavia/db/repositories.py +++ b/octavia/db/repositories.py @@ -538,7 +538,8 @@ class Repositories(object): lock_session, data_models.LoadBalancer, lb_dict['project_id']): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.LoadBalancer._name()) lb_dm = self.create_load_balancer_and_vip( lock_session, lb_dict, vip_dict) for listener_dict in listener_dicts: @@ -547,7 +548,8 @@ class Repositories(object): lock_session, data_models.Listener, lb_dict['project_id']): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Listener._name()) pool_dict = listener_dict.pop('default_pool', None) l7policies_dict = listener_dict.pop('l7policies', None) sni_containers = listener_dict.pop('sni_containers', []) @@ -557,7 +559,8 @@ class Repositories(object): lock_session, data_models.Pool, lb_dict['project_id']): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Pool._name()) hm_dict = pool_dict.pop('health_monitor', None) member_dicts = pool_dict.pop('members', []) sp_dict = pool_dict.pop('session_persistence', None) @@ -574,7 +577,8 @@ class Repositories(object): lock_session, data_models.HealthMonitor, lb_dict['project_id']): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.HealthMonitor._name()) hm_dict['id'] = pool_dm.id hm_dict['pool_id'] = pool_dm.id self.health_monitor.create(lock_session, **hm_dict) @@ -584,7 +588,8 @@ class Repositories(object): lock_session, data_models.Member, lb_dict['project_id']): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Member._name()) r_member_dict['pool_id'] = pool_dm.id self.member.create(lock_session, **r_member_dict) listener_dict['default_pool_id'] = pool_dm.id @@ -600,7 +605,8 @@ class Repositories(object): lock_session, data_models.Pool, lb_dict['project_id']): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Pool._name()) r_pool_dict = policy_dict.pop( 'redirect_pool') r_hm_dict = r_pool_dict.pop('health_monitor', @@ -623,7 +629,9 @@ class Repositories(object): lock_session, data_models.HealthMonitor, lb_dict['project_id']): - raise exceptions.QuotaException + res = data_models.HealthMonitor + raise exceptions.QuotaException( + resource=res._name()) r_hm_dict['id'] = r_pool_dm.id r_hm_dict['pool_id'] = r_pool_dm.id self.health_monitor.create(lock_session, @@ -635,7 +643,8 @@ class Repositories(object): lock_session, data_models.Member, lb_dict['project_id']): - raise exceptions.QuotaException + raise exceptions.QuotaException( + resource=data_models.Member._name()) r_member_dict['pool_id'] = r_pool_dm.id self.member.create(lock_session, **r_member_dict)