diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-10-14 23:39:33 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-10-14 23:39:33 +0000 |
| commit | 5351e9ae07fd591ad8b2d46b35458972804f7ef7 (patch) | |
| tree | 6fed40b93094e75ebab11da8fe749e5c6274f316 | |
| parent | faa47fef92a2ea5440202d20f7965fb365791647 (diff) | |
| parent | 82d8ffec5b5220039e57685fe4359950d1209b14 (diff) | |
| download | nova-5351e9ae07fd591ad8b2d46b35458972804f7ef7.tar.gz nova-5351e9ae07fd591ad8b2d46b35458972804f7ef7.tar.xz nova-5351e9ae07fd591ad8b2d46b35458972804f7ef7.zip | |
Merge "nova-manage doesn't validate key to update the quota"
| -rwxr-xr-x | bin/nova-manage | 6 | ||||
| -rw-r--r-- | nova/tests/test_nova_manage.py | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/bin/nova-manage b/bin/nova-manage index d16853841..79a5cec26 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: diff --git a/nova/tests/test_nova_manage.py b/nova/tests/test_nova_manage.py index 537aee287..ec5d452a5 100644 --- a/nova/tests/test_nova_manage.py +++ b/nova/tests/test_nova_manage.py @@ -367,3 +367,8 @@ class ProjectCommandsTestCase(test.TestCase): sys.stdout = sys.__stdout__ result = output.getvalue() self.assertEquals(('volumes: unlimited' in result), True) + + def test_quota_update_invalid_key(self): + self.assertRaises(SystemExit, + self.commands.quota, 'admin', 'volumes1', '10' + ) |
