diff options
| author | Jenkins <jenkins@review.openstack.org> | 2017-01-17 17:23:54 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-01-17 17:23:54 +0000 |
| commit | 08ca61ba074ba43ab0fd281992e878c78e0f709a (patch) | |
| tree | 837819d39d4cd39634644e0418be19c99372690e /openstackclient/common | |
| parent | e853d93a04fd548e94beaa46e8c47fe043f5a8ea (diff) | |
| parent | 0340275fa9b48cda5a5f4015534ca8cbca23b3d2 (diff) | |
| download | python-openstackclient-08ca61ba074ba43ab0fd281992e878c78e0f709a.tar.gz | |
Merge "Fix quota set command error for SDK > 0.9.10"
Diffstat (limited to 'openstackclient/common')
| -rw-r--r-- | openstackclient/common/quota.py | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index fa6c5765..d86aec58 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -182,9 +182,36 @@ class SetQuota(command.Command): project, **volume_kwargs) if network_kwargs: - network_client.update_quota( - project, - **network_kwargs) + if hasattr(_quota.Quota, 'allow_get'): + # TODO(huanxuan): Remove this block once the fixed + # SDK Quota class is the minimum required version. + # This is expected to be SDK release 0.9.13 + res = network_client._get_resource( + _quota.Quota, project, **network_kwargs) + if any([res._body.dirty, res._header.dirty]): + request = res._prepare_request(prepend_key=True) + # remove the id in the body + if 'id' in request.body[res.resource_key]: + del request.body[res.resource_key]['id'] + if res.patch_update: + response = network_client.session.patch( + request.uri, + endpoint_filter=res.service, + json=request.body, + headers=request.headers + ) + else: + response = network_client.session.put( + request.uri, + endpoint_filter=res.service, + json=request.body, + headers=request.headers + ) + res._translate_response(response, has_body=True) + else: + network_client.update_quota( + project, + **network_kwargs) class ShowQuota(command.ShowOne): |
