From 2a01ede6b65b20484776aa02d4c1ad9a7a82c240 Mon Sep 17 00:00:00 2001 From: qtang Date: Fri, 5 Aug 2016 16:49:08 +0800 Subject: Fix openstack quota set/show --class not work identity_client should not be used for quota class operation. Update code to fix the qutoa class set/show issue. Change-Id: I71c59c08a0d5da29982497f589e1efe131997f21 Closes-Bug: #1609233 --- openstackclient/common/quota.py | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'openstackclient/common') diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index aabfa5d5..96a50ad5 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -154,36 +154,34 @@ class SetQuota(command.Command): if value is not None: compute_kwargs[k] = value - if parsed_args.project: - project = utils.find_resource( - identity_client.projects, - parsed_args.project, - ) - if parsed_args.quota_class: if compute_kwargs: compute_client.quota_classes.update( - project.id, + parsed_args.project, **compute_kwargs) if volume_kwargs: volume_client.quota_classes.update( - project.id, + parsed_args.project, **volume_kwargs) if network_kwargs: sys.stderr.write("Network quotas are ignored since quota class" "is not supported.") else: + project = utils.find_resource( + identity_client.projects, + parsed_args.project, + ).id if compute_kwargs: compute_client.quotas.update( - project.id, + project, **compute_kwargs) if volume_kwargs: volume_client.quotas.update( - project.id, + project, **volume_kwargs) if network_kwargs: network_client.update_quota( - project.id, + project, **network_kwargs) @@ -230,15 +228,15 @@ class ShowQuota(command.ShowOne): return project def get_compute_volume_quota(self, client, parsed_args): - project = self._get_project(parsed_args) - try: if parsed_args.quota_class: - quota = client.quota_classes.get(project) - elif parsed_args.default: - quota = client.quotas.defaults(project) + quota = client.quota_classes.get(parsed_args.project) else: - quota = client.quotas.get(project) + project = self._get_project(parsed_args) + if parsed_args.default: + quota = client.quotas.defaults(project) + else: + quota = client.quotas.get(project) except Exception as e: if type(e).__name__ == 'EndpointNotFound': return {} -- cgit v1.2.1