Browse Source

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)
changes/51/695351/2
Oleg Bondarev 2 years ago
committed by Adit Sarfaty
parent
commit
ff810fcd80
  1. 1
      neutron/pecan_wsgi/hooks/quota_enforcement.py
  2. 5
      neutron/quota/resource_registry.py

1
neutron/pecan_wsgi/hooks/quota_enforcement.py

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

5
neutron/quota/resource_registry.py

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

Loading…
Cancel
Save