summaryrefslogtreecommitdiff
path: root/openstackclient/common
diff options
context:
space:
mode:
authorqtang <qtang@vmware.com>2016-08-05 16:49:08 +0800
committerqtang <qtang@vmware.com>2016-09-14 11:15:01 +0800
commit2a01ede6b65b20484776aa02d4c1ad9a7a82c240 (patch)
tree5f42ae383873523469545b9e0ed1edeccf5280d8 /openstackclient/common
parent6f326acd260d035cb024f0c5e3ef2237277d8b37 (diff)
downloadpython-openstackclient-2a01ede6b65b20484776aa02d4c1ad9a7a82c240.tar.gz
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
Diffstat (limited to 'openstackclient/common')
-rw-r--r--openstackclient/common/quota.py32
1 files changed, 15 insertions, 17 deletions
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 {}