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
(cherry picked from commit ab286bcdac)
This commit is contained in:
Oleg Bondarev 2019-09-19 16:11:06 +04:00 committed by Adit Sarfaty
parent c04c5d00ac
commit ff810fcd80
2 changed files with 1 additions and 5 deletions

View File

@ -61,6 +61,7 @@ class QuotaEnforcementHook(hooks.PecanHook):
# retrieved in the 'after' hook
state.request.context['reservations'] = reservations
@db_api.retry_db_errors
def after(self, state):
neutron_context = state.request.context.get('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
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
"""
if not cfg.CONF.QUOTAS.track_quota_usage: