From 0b301225860153b6f965ef74562caa575d3eea5f Mon Sep 17 00:00:00 2001 From: vijaya-erukala Date: Tue, 9 Oct 2012 19:25:27 +0530 Subject: [PATCH] nova-manage doesn't validate key to update the quota nova-manage doesn't validate the key value supplied to update the quota, as a result unnecessary records will be created in db and user will be under the impression that quota value got updated. This patch validates the input value given to the key. fixes bug 1064359 Change-Id: I9928f30881aa2780a23005b5f69aa67a44f314c5 --- bin/nova-manage | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bin/nova-manage b/bin/nova-manage index d1685384..79a5cec2 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -221,13 +221,17 @@ class ProjectCommands(object): def quota(self, project_id, key=None, value=None): """Set or display quotas for project""" ctxt = context.get_admin_context() - if key: + project_quota = QUOTAS.get_project_quotas(ctxt, project_id) + if key and key in project_quota: if value.lower() == 'unlimited': value = -1 try: db.quota_update(ctxt, project_id, key, value) except exception.ProjectQuotaNotFound: db.quota_create(ctxt, project_id, key, value) + else: + print "error: Invalid key %s supplied for update" % key + sys.exit(2) project_quota = QUOTAS.get_project_quotas(ctxt, project_id) for key, value in project_quota.iteritems(): if value['limit'] < 0 or value['limit'] is None: