Merge "Improve resource quota response message"

This commit is contained in:
Zuul 2018-07-11 03:52:28 +00:00 committed by Gerrit Code Review
commit 26852b00de
13 changed files with 51 additions and 25 deletions

View File

@ -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(

View File

@ -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)

View File

@ -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(

View File

@ -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(

View File

@ -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(

View File

@ -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))

View File

@ -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),

View File

@ -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)

View File

@ -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 = []

View File

@ -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}

View File

@ -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 = []

View File

@ -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

View File

@ -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)