Skip to content

Commit 99498b0

Browse files
committed
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
1 parent 65e6c7b commit 99498b0

3 files changed

Lines changed: 43 additions & 0 deletions

File tree

openstackclient/common/quota.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def get_parser(self, prog_name):
8181
parser.add_argument(
8282
'--%s' % v,
8383
metavar='<%s>' % v,
84+
dest=k,
8485
type=int,
8586
help='New value for the %s quota' % v,
8687
)

openstackclient/tests/common/test_quota.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,31 @@ def test_quota_set(self):
9292
'--floating-ips', str(compute_fakes.floating_ip_num),
9393
'--fixed-ips', str(compute_fakes.fix_ip_num),
9494
'--injected-files', str(compute_fakes.injected_file_num),
95+
'--injected-file-size', str(compute_fakes.injected_file_size_num),
96+
'--injected-path-size', str(compute_fakes.injected_path_size_num),
9597
'--key-pairs', str(compute_fakes.key_pair_num),
98+
'--cores', str(compute_fakes.core_num),
99+
'--ram', str(compute_fakes.ram_num),
100+
'--instances', str(compute_fakes.instance_num),
101+
'--properties', str(compute_fakes.property_num),
102+
'--secgroup-rules', str(compute_fakes.secgroup_rule_num),
103+
'--secgroups', str(compute_fakes.secgroup_num),
96104
identity_fakes.project_name,
97105
]
98106
verifylist = [
99107
('floating_ips', compute_fakes.floating_ip_num),
100108
('fixed_ips', compute_fakes.fix_ip_num),
101109
('injected_files', compute_fakes.injected_file_num),
110+
('injected_file_content_bytes',
111+
compute_fakes.injected_file_size_num),
112+
('injected_file_path_bytes', compute_fakes.injected_path_size_num),
102113
('key_pairs', compute_fakes.key_pair_num),
114+
('cores', compute_fakes.core_num),
115+
('ram', compute_fakes.ram_num),
116+
('instances', compute_fakes.instance_num),
117+
('metadata_items', compute_fakes.property_num),
118+
('security_group_rules', compute_fakes.secgroup_rule_num),
119+
('security_groups', compute_fakes.secgroup_num),
103120
('project', identity_fakes.project_name),
104121
]
105122

@@ -111,7 +128,16 @@ def test_quota_set(self):
111128
'floating_ips': compute_fakes.floating_ip_num,
112129
'fixed_ips': compute_fakes.fix_ip_num,
113130
'injected_files': compute_fakes.injected_file_num,
131+
'injected_file_content_bytes':
132+
compute_fakes.injected_file_size_num,
133+
'injected_file_path_bytes': compute_fakes.injected_path_size_num,
114134
'key_pairs': compute_fakes.key_pair_num,
135+
'cores': compute_fakes.core_num,
136+
'ram': compute_fakes.ram_num,
137+
'instances': compute_fakes.instance_num,
138+
'metadata_items': compute_fakes.property_num,
139+
'security_group_rules': compute_fakes.secgroup_rule_num,
140+
'security_groups': compute_fakes.secgroup_num,
115141
}
116142

117143
self.quotas_mock.update.assert_called_with(

openstackclient/tests/compute/v2/fakes.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,30 @@
6868
floating_ip_num = 100
6969
fix_ip_num = 100
7070
injected_file_num = 100
71+
injected_file_size_num = 10240
72+
injected_path_size_num = 255
7173
key_pair_num = 100
74+
core_num = 20
75+
ram_num = 51200
76+
instance_num = 10
77+
property_num = 128
78+
secgroup_rule_num = 20
79+
secgroup_num = 10
7280
project_name = 'project_test'
7381
QUOTA = {
7482
'project': project_name,
7583
'floating-ips': floating_ip_num,
7684
'fix-ips': fix_ip_num,
7785
'injected-files': injected_file_num,
86+
'injected-file-size': injected_file_size_num,
87+
'injected-path-size': injected_path_size_num,
7888
'key-pairs': key_pair_num,
89+
'cores': core_num,
90+
'ram': ram_num,
91+
'instances': instance_num,
92+
'properties': property_num,
93+
'secgroup_rules': secgroup_rule_num,
94+
'secgroups': secgroup_num,
7995
}
8096

8197
QUOTA_columns = tuple(sorted(QUOTA))

0 commit comments

Comments
 (0)