diff options
| author | Kevin L. Mitchell <kevin.mitchell@rackspace.com> | 2012-10-30 18:03:29 -0500 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-10-31 15:07:54 +0000 |
| commit | daf78cfb970af42242466c7edb082bdb7bbbb118 (patch) | |
| tree | 7f5b1ef5b5a76095125724831142b6d0d56c6252 /nova/db | |
| parent | efc291257fb8655ab57e77c57de23f15968af998 (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.py | 6 | ||||
| -rw-r--r-- | nova/db/sqlalchemy/api.py | 12 |
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: |
