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
This commit is contained in:
Richard Theis 2015-11-20 12:49:17 -06:00
parent 65e6c7bc63
commit 99498b0ab3
3 changed files with 43 additions and 0 deletions

View File

@ -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,
)

View File

@ -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(

View File

@ -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))