quota: synchronize resync and count with other dirty_tenants code

We should synchronize every access or modification of
self._dirty_tenants or self._out_of_sync_tenants.

Closes-Bug: #1485969
Change-Id: If17f57e8905fd8d13438d0421f73468e77f723d9
This commit is contained in:
Ihar Hrachyshka 2015-08-18 12:35:15 +02:00
parent f5344dec5b
commit 852752edad

View File

@ -224,6 +224,7 @@ class TrackedResource(BaseResource):
{'tenant_id': tenant_id, 'resource': self.name})
return usage_info
@lockutils.synchronized('dirty_tenants')
def resync(self, context, tenant_id):
if tenant_id not in self._out_of_sync_tenants:
return
@ -238,6 +239,7 @@ class TrackedResource(BaseResource):
# Update quota usage
return self._resync(context, tenant_id, in_use, reserved)
@lockutils.synchronized('dirty_tenants')
def count(self, context, _plugin, tenant_id, resync_usage=False):
"""Return the current usage count for the resource.