From 852752edad15e13ab08aee67ea54a1fd2e829942 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Tue, 18 Aug 2015 12:35:15 +0200 Subject: [PATCH] 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 --- neutron/quota/resource.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/neutron/quota/resource.py b/neutron/quota/resource.py index 0030307ba69..a5f9c039b4d 100644 --- a/neutron/quota/resource.py +++ b/neutron/quota/resource.py @@ -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.