summaryrefslogtreecommitdiffstats
path: root/nova/db
diff options
context:
space:
mode:
authorKevin L. Mitchell <kevin.mitchell@rackspace.com>2012-10-30 18:03:29 -0500
committerGerrit Code Review <review@openstack.org>2012-10-31 15:07:54 +0000
commitdaf78cfb970af42242466c7edb082bdb7bbbb118 (patch)
tree7f5b1ef5b5a76095125724831142b6d0d56c6252 /nova/db
parentefc291257fb8655ab57e77c57de23f15968af998 (diff)
Add call to reset quota usage
There are certain circumstances where we may need to indicate an uncertainty in a user's current usage of a given resource, thus forcing a recount of those resources currently in use. This adds a QUOTAS.usage_reset() call which can be used to do this. It works by resetting the current usage to -1, which will force the usage record to be refreshed the next time that user reserves those resources. Change-Id: I4a40c8edcc78ed9a7d18a293d4d7d6418b04b7f2
Diffstat (limited to 'nova/db')
-rw-r--r--nova/db/api.py6
-rw-r--r--nova/db/sqlalchemy/api.py12
2 files changed, 9 insertions, 9 deletions
diff --git a/nova/db/api.py b/nova/db/api.py
index 82b7e895b..757f101b3 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -994,11 +994,9 @@ def quota_usage_get_all_by_project(context, project_id):
return IMPL.quota_usage_get_all_by_project(context, project_id)
-def quota_usage_update(context, project_id, resource, in_use, reserved,
- until_refresh):
+def quota_usage_update(context, project_id, resource, **kwargs):
"""Update a quota usage or raise if it does not exist."""
- return IMPL.quota_usage_update(context, project_id, resource,
- in_use, reserved, until_refresh)
+ return IMPL.quota_usage_update(context, project_id, resource, **kwargs)
def quota_usage_destroy(context, project_id, resource):
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index d68c39f6e..f5f7f3b15 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -2569,14 +2569,16 @@ def quota_usage_create(context, project_id, resource, in_use, reserved,
@require_admin_context
-def quota_usage_update(context, project_id, resource, in_use, reserved,
- until_refresh, session=None):
+def quota_usage_update(context, project_id, resource, session=None, **kwargs):
def do_update(session):
quota_usage_ref = quota_usage_get(context, project_id, resource,
session=session)
- quota_usage_ref.in_use = in_use
- quota_usage_ref.reserved = reserved
- quota_usage_ref.until_refresh = until_refresh
+ if 'in_use' in kwargs:
+ quota_usage_ref.in_use = kwargs['in_use']
+ if 'reserved' in kwargs:
+ quota_usage_ref.reserved = kwargs['reserved']
+ if 'until_refresh' in kwargs:
+ quota_usage_ref.until_refresh = kwargs['until_refresh']
quota_usage_ref.save(session=session)
if session: