Set DB retry for quota_enforcement pecan_wsgi hook

The hook starts a DB transaction and should be covered with
DB retry decorator.

Closes-Bug: #1777965
Closes-Bug: #1771293
Change-Id: I044980a98845edc7b0a02e3323a1e62eb54c10c7
This commit is contained in:
Oleg Bondarev 2019-09-19 16:11:06 +04:00
parent d15ad2e481
commit ab286bcdac
2 changed files with 1 additions and 5 deletions

View File

@ -61,6 +61,7 @@ class QuotaEnforcementHook(hooks.PecanHook):
# retrieved in the 'after' hook # retrieved in the 'after' hook
state.request.context['reservations'] = reservations state.request.context['reservations'] = reservations
@db_api.retry_db_errors
def after(self, state): def after(self, state):
neutron_context = state.request.context.get('neutron_context') neutron_context = state.request.context.get('neutron_context')
if not neutron_context: if not neutron_context:

View File

@ -61,11 +61,6 @@ def set_resources_dirty(context):
dirty status is True, sets the dirty bit to True in the database dirty status is True, sets the dirty bit to True in the database
for the appropriate tenants. for the appropriate tenants.
Please note that this routine begins a nested transaction, and it
is not recommended that this transaction begins within another
transaction. For this reason the function will raise a SqlAlchemy
exception if such an attempt is made.
:param context: a Neutron request context with a DB session :param context: a Neutron request context with a DB session
""" """
if not cfg.CONF.QUOTAS.track_quota_usage: if not cfg.CONF.QUOTAS.track_quota_usage: