diff options
| author | Rui Chen <chenrui.momo@gmail.com> | 2016-08-05 12:07:13 +0800 |
|---|---|---|
| committer | Rui Chen <chenrui.momo@gmail.com> | 2016-09-12 11:00:55 +0800 |
| commit | 6fba7163e85a436d1fe0660d9932a53d06b1a343 (patch) | |
| tree | 26cf39aa2dbbec1db5635e58875a5f95ed02bcaa /openstackclient | |
| parent | 4e71e9da6b729212516eceb0aa556ecbc4dfdf36 (diff) | |
| download | python-openstackclient-6fba7163e85a436d1fe0660d9932a53d06b1a343.tar.gz | |
Set quota "per_volume_gigabytes", "backup_gigabytes" and "backups"
"per_volume_gigabytes", "backup_gigabytes" and "backups" items
can be shown in "openstack quota show" command, but can't be
updated by "openstack quota set". This patch fix the issue.
Change-Id: I47db5a69d4e4ef6e140f2735257c83e1fb052760
Closes-Bug: #1609767
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/common/quota.py | 12 | ||||
| -rw-r--r-- | openstackclient/tests/unit/common/test_quota.py | 22 |
2 files changed, 33 insertions, 1 deletions
diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index 5d53171c..8ae6f7d4 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -43,11 +43,20 @@ COMPUTE_QUOTAS = { } VOLUME_QUOTAS = { + 'backups': 'backups', + 'backup_gigabytes': 'backup-gigabytes', 'gigabytes': 'gigabytes', + 'per_volume_gigabytes': 'per-volume-gigabytes', 'snapshots': 'snapshots', 'volumes': 'volumes', } +IMPACT_VOLUME_TYPE_QUOTAS = [ + 'gigabytes', + 'snapshots', + 'volumes', +] + NOVA_NETWORK_QUOTAS = { 'floating_ips': 'floating-ips', 'security_group_rules': 'secgroup-rules', @@ -128,7 +137,8 @@ class SetQuota(command.Command): for k, v in VOLUME_QUOTAS.items(): value = getattr(parsed_args, k, None) if value is not None: - if parsed_args.volume_type: + if (parsed_args.volume_type and + k in IMPACT_VOLUME_TYPE_QUOTAS): k = k + '_%s' % parsed_args.volume_type volume_kwargs[k] = value diff --git a/openstackclient/tests/unit/common/test_quota.py b/openstackclient/tests/unit/common/test_quota.py index 7edd4186..cbe4cb80 100644 --- a/openstackclient/tests/unit/common/test_quota.py +++ b/openstackclient/tests/unit/common/test_quota.py @@ -158,12 +158,20 @@ class TestQuotaSet(TestQuota): '--gigabytes', str(volume_fakes.QUOTA['gigabytes']), '--snapshots', str(volume_fakes.QUOTA['snapshots']), '--volumes', str(volume_fakes.QUOTA['volumes']), + '--backups', str(volume_fakes.QUOTA['backups']), + '--backup-gigabytes', str(volume_fakes.QUOTA['backup_gigabytes']), + '--per-volume-gigabytes', + str(volume_fakes.QUOTA['per_volume_gigabytes']), identity_fakes.project_name, ] verifylist = [ ('gigabytes', volume_fakes.QUOTA['gigabytes']), ('snapshots', volume_fakes.QUOTA['snapshots']), ('volumes', volume_fakes.QUOTA['volumes']), + ('backups', volume_fakes.QUOTA['backups']), + ('backup_gigabytes', volume_fakes.QUOTA['backup_gigabytes']), + ('per_volume_gigabytes', + volume_fakes.QUOTA['per_volume_gigabytes']), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) @@ -174,6 +182,9 @@ class TestQuotaSet(TestQuota): 'gigabytes': volume_fakes.QUOTA['gigabytes'], 'snapshots': volume_fakes.QUOTA['snapshots'], 'volumes': volume_fakes.QUOTA['volumes'], + 'backups': volume_fakes.QUOTA['backups'], + 'backup_gigabytes': volume_fakes.QUOTA['backup_gigabytes'], + 'per_volume_gigabytes': volume_fakes.QUOTA['per_volume_gigabytes'] } self.volume_quotas_mock.update.assert_called_once_with( @@ -188,6 +199,10 @@ class TestQuotaSet(TestQuota): '--gigabytes', str(volume_fakes.QUOTA['gigabytes']), '--snapshots', str(volume_fakes.QUOTA['snapshots']), '--volumes', str(volume_fakes.QUOTA['volumes']), + '--backups', str(volume_fakes.QUOTA['backups']), + '--backup-gigabytes', str(volume_fakes.QUOTA['backup_gigabytes']), + '--per-volume-gigabytes', + str(volume_fakes.QUOTA['per_volume_gigabytes']), '--volume-type', 'volume_type_backend', identity_fakes.project_name, ] @@ -195,6 +210,10 @@ class TestQuotaSet(TestQuota): ('gigabytes', volume_fakes.QUOTA['gigabytes']), ('snapshots', volume_fakes.QUOTA['snapshots']), ('volumes', volume_fakes.QUOTA['volumes']), + ('backups', volume_fakes.QUOTA['backups']), + ('backup_gigabytes', volume_fakes.QUOTA['backup_gigabytes']), + ('per_volume_gigabytes', + volume_fakes.QUOTA['per_volume_gigabytes']), ('volume_type', 'volume_type_backend'), ] @@ -206,6 +225,9 @@ class TestQuotaSet(TestQuota): 'gigabytes_volume_type_backend': volume_fakes.QUOTA['gigabytes'], 'snapshots_volume_type_backend': volume_fakes.QUOTA['snapshots'], 'volumes_volume_type_backend': volume_fakes.QUOTA['volumes'], + 'backups': volume_fakes.QUOTA['backups'], + 'backup_gigabytes': volume_fakes.QUOTA['backup_gigabytes'], + 'per_volume_gigabytes': volume_fakes.QUOTA['per_volume_gigabytes'] } self.volume_quotas_mock.update.assert_called_once_with( |
