From 0766ec0da0d19be32c2ac07f480b3cb873d8037d Mon Sep 17 00:00:00 2001 From: Paul Voccio Date: Fri, 13 Jul 2012 14:21:22 -0700 Subject: Adding granularity for quotas to list and update added quotas:show and quotas:update to policy.json defaulting quotas:update to an admin-api default Change-Id: Ib328912be859512b9c5391d9b7aa317ecf29aeab --- nova/api/openstack/compute/contrib/quotas.py | 9 +++++---- nova/tests/policy.json | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'nova') diff --git a/nova/api/openstack/compute/contrib/quotas.py b/nova/api/openstack/compute/contrib/quotas.py index 361335927..33584badc 100644 --- a/nova/api/openstack/compute/contrib/quotas.py +++ b/nova/api/openstack/compute/contrib/quotas.py @@ -29,7 +29,8 @@ from nova import quota QUOTAS = quota.QUOTAS -authorize = extensions.extension_authorizer('compute', 'quotas') +authorize_update = extensions.extension_authorizer('compute', 'quotas:update') +authorize_show = extensions.extension_authorizer('compute', 'quotas:show') class QuotaTemplate(xmlutil.TemplateBuilder): @@ -73,7 +74,7 @@ class QuotaSetsController(object): @wsgi.serializers(xml=QuotaTemplate) def show(self, req, id): context = req.environ['nova.context'] - authorize(context) + authorize_show(context) try: sqlalchemy_api.authorize_project_context(context, id) return self._format_quota_set(id, self._get_quotas(context, id)) @@ -83,7 +84,7 @@ class QuotaSetsController(object): @wsgi.serializers(xml=QuotaTemplate) def update(self, req, id, body): context = req.environ['nova.context'] - authorize(context) + authorize_update(context) project_id = id for key in body['quota_set'].keys(): if key in QUOTAS: @@ -100,7 +101,7 @@ class QuotaSetsController(object): @wsgi.serializers(xml=QuotaTemplate) def defaults(self, req, id): context = req.environ['nova.context'] - authorize(context) + authorize_show(context) return self._format_quota_set(id, QUOTAS.get_defaults(context)) diff --git a/nova/tests/policy.json b/nova/tests/policy.json index b0b3114c4..bed66a7df 100644 --- a/nova/tests/policy.json +++ b/nova/tests/policy.json @@ -103,7 +103,8 @@ "compute_extension:multinic": [], "compute_extension:networks": [], "compute_extension:networks:view": [], - "compute_extension:quotas": [], + "compute_extension:quotas:show": [], + "compute_extension:quotas:update": [], "compute_extension:quota_classes": [], "compute_extension:rescue": [], "compute_extension:security_groups": [], -- cgit