diff options
| author | Richard Theis <rtheis@us.ibm.com> | 2015-11-20 12:49:17 -0600 |
|---|---|---|
| committer | Richard Theis <rtheis@us.ibm.com> | 2015-11-20 13:08:42 -0600 |
| commit | 99498b0ab3f8a131fca3663f170d746d8bb090ae (patch) | |
| tree | f894cc2b35c49e1e6f95d3f92e6e1230b3fb055f | |
| parent | 65e6c7bc63d1a2137ae454f792b17feba7fab9b8 (diff) | |
| download | python-openstackclient-99498b0ab3f8a131fca3663f170d746d8bb090ae.tar.gz | |
Unable to set some compute quotas
The OpenStackClient mapping of 'openstack quota set' arguments isn't
correct for compute quota items that have to different names. For
example, the --injected-file-size argument is mapped to
injected_file_size, but the compute quotas item is actually
injected_file_content_bytes. This incorrect mapping prevented the
impacted compute quota items from being set.
The problem impacts the following 'openstack quota set' arguments:
--injected-file-size
--injected-path-size
--properties
--secgroup-rules
--secgroups
This patch set also expands the compute quota unit tests to verify
all compute quota items that can be set.
Change-Id: I0a2f241e425f4811e4ae55be183ac0c8b0805c2a
Closes-Bug: #1475831
| -rw-r--r-- | openstackclient/common/quota.py | 1 | ||||
| -rw-r--r-- | openstackclient/tests/common/test_quota.py | 26 | ||||
| -rw-r--r-- | openstackclient/tests/compute/v2/fakes.py | 16 |
3 files changed, 43 insertions, 0 deletions
diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index b5d4eb87..c5404f07 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -81,6 +81,7 @@ class SetQuota(command.Command): parser.add_argument( '--%s' % v, metavar='<%s>' % v, + dest=k, type=int, help='New value for the %s quota' % v, ) diff --git a/openstackclient/tests/common/test_quota.py b/openstackclient/tests/common/test_quota.py index 047ef343..ff711a75 100644 --- a/openstackclient/tests/common/test_quota.py +++ b/openstackclient/tests/common/test_quota.py @@ -92,14 +92,31 @@ class TestQuotaSet(TestQuota): '--floating-ips', str(compute_fakes.floating_ip_num), '--fixed-ips', str(compute_fakes.fix_ip_num), '--injected-files', str(compute_fakes.injected_file_num), + '--injected-file-size', str(compute_fakes.injected_file_size_num), + '--injected-path-size', str(compute_fakes.injected_path_size_num), '--key-pairs', str(compute_fakes.key_pair_num), + '--cores', str(compute_fakes.core_num), + '--ram', str(compute_fakes.ram_num), + '--instances', str(compute_fakes.instance_num), + '--properties', str(compute_fakes.property_num), + '--secgroup-rules', str(compute_fakes.secgroup_rule_num), + '--secgroups', str(compute_fakes.secgroup_num), identity_fakes.project_name, ] verifylist = [ ('floating_ips', compute_fakes.floating_ip_num), ('fixed_ips', compute_fakes.fix_ip_num), ('injected_files', compute_fakes.injected_file_num), + ('injected_file_content_bytes', + compute_fakes.injected_file_size_num), + ('injected_file_path_bytes', compute_fakes.injected_path_size_num), ('key_pairs', compute_fakes.key_pair_num), + ('cores', compute_fakes.core_num), + ('ram', compute_fakes.ram_num), + ('instances', compute_fakes.instance_num), + ('metadata_items', compute_fakes.property_num), + ('security_group_rules', compute_fakes.secgroup_rule_num), + ('security_groups', compute_fakes.secgroup_num), ('project', identity_fakes.project_name), ] @@ -111,7 +128,16 @@ class TestQuotaSet(TestQuota): 'floating_ips': compute_fakes.floating_ip_num, 'fixed_ips': compute_fakes.fix_ip_num, 'injected_files': compute_fakes.injected_file_num, + 'injected_file_content_bytes': + compute_fakes.injected_file_size_num, + 'injected_file_path_bytes': compute_fakes.injected_path_size_num, 'key_pairs': compute_fakes.key_pair_num, + 'cores': compute_fakes.core_num, + 'ram': compute_fakes.ram_num, + 'instances': compute_fakes.instance_num, + 'metadata_items': compute_fakes.property_num, + 'security_group_rules': compute_fakes.secgroup_rule_num, + 'security_groups': compute_fakes.secgroup_num, } self.quotas_mock.update.assert_called_with( diff --git a/openstackclient/tests/compute/v2/fakes.py b/openstackclient/tests/compute/v2/fakes.py index 13db0c01..94d1f6aa 100644 --- a/openstackclient/tests/compute/v2/fakes.py +++ b/openstackclient/tests/compute/v2/fakes.py @@ -68,14 +68,30 @@ FLAVOR = { floating_ip_num = 100 fix_ip_num = 100 injected_file_num = 100 +injected_file_size_num = 10240 +injected_path_size_num = 255 key_pair_num = 100 +core_num = 20 +ram_num = 51200 +instance_num = 10 +property_num = 128 +secgroup_rule_num = 20 +secgroup_num = 10 project_name = 'project_test' QUOTA = { 'project': project_name, 'floating-ips': floating_ip_num, 'fix-ips': fix_ip_num, 'injected-files': injected_file_num, + 'injected-file-size': injected_file_size_num, + 'injected-path-size': injected_path_size_num, 'key-pairs': key_pair_num, + 'cores': core_num, + 'ram': ram_num, + 'instances': instance_num, + 'properties': property_num, + 'secgroup_rules': secgroup_rule_num, + 'secgroups': secgroup_num, } QUOTA_columns = tuple(sorted(QUOTA)) |
