summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuanxuan Ao <huanxuan.ao@easystack.cn>2017-02-03 15:13:52 +0800
committerHuanxuan Ao <huanxuan.ao@easystack.cn>2017-02-21 19:34:15 +0800
commit1be6c2d92fd83d9ba4a6813aa409cc888c0ce8fe (patch)
tree1ce0730e4bdb5d12d54d83c1d3d1801978a56feb
parentbc4a3f467facecdb690f3bdbad3a6bbef1996778 (diff)
downloadpython-openstackclient-1be6c2d92fd83d9ba4a6813aa409cc888c0ce8fe.tar.gz
Fix properties format for volume qos in volume v1
Notice that patch [1] fixed the error of properties format for volume qos in volume v2, but there is the same bug in volume v1, and the patch missed that, so fix the problem in v1 as well [1] https://review.openstack.org/#/c/421065/ Partial-Bug: #1656767 Change-Id: I156bf13d164dbd0d0a7ce394964176718c4ff0e5
-rw-r--r--openstackclient/tests/functional/volume/v1/test_qos.py4
-rw-r--r--openstackclient/tests/unit/volume/v1/test_qos_specs.py21
-rw-r--r--openstackclient/volume/v1/qos_specs.py11
3 files changed, 20 insertions, 16 deletions
diff --git a/openstackclient/tests/functional/volume/v1/test_qos.py b/openstackclient/tests/functional/volume/v1/test_qos.py
index 9ca32b0a..434840f6 100644
--- a/openstackclient/tests/functional/volume/v1/test_qos.py
+++ b/openstackclient/tests/functional/volume/v1/test_qos.py
@@ -94,7 +94,7 @@ class QosTests(common.BaseVolumeTests):
)
self.assertEqual(
"Alpha='c', Beta='b'",
- cmd_output['specs']
+ cmd_output['properties']
)
# Test volume qos unset
@@ -115,7 +115,7 @@ class QosTests(common.BaseVolumeTests):
)
self.assertEqual(
"Beta='b'",
- cmd_output['specs']
+ cmd_output['properties']
)
# TODO(qiangjiahui): Add tests for associate and disassociate volume type
diff --git a/openstackclient/tests/unit/volume/v1/test_qos_specs.py b/openstackclient/tests/unit/volume/v1/test_qos_specs.py
index 464038e7..e3dc1e78 100644
--- a/openstackclient/tests/unit/volume/v1/test_qos_specs.py
+++ b/openstackclient/tests/unit/volume/v1/test_qos_specs.py
@@ -70,23 +70,22 @@ class TestQosAssociate(TestQos):
class TestQosCreate(TestQos):
- new_qos_spec = volume_fakes.FakeQos.create_one_qos()
columns = (
'consumer',
'id',
'name',
- 'specs'
- )
- datalist = (
- new_qos_spec.consumer,
- new_qos_spec.id,
- new_qos_spec.name,
- new_qos_spec.specs
+ 'properties'
)
def setUp(self):
super(TestQosCreate, self).setUp()
-
+ self.new_qos_spec = volume_fakes.FakeQos.create_one_qos()
+ self.datalist = (
+ self.new_qos_spec.consumer,
+ self.new_qos_spec.id,
+ self.new_qos_spec.name,
+ utils.format_dict(self.new_qos_spec.specs)
+ )
self.qos_mock.create.return_value = self.new_qos_spec
# Get the command object to test
self.cmd = qos_specs.CreateQos(self.app, None)
@@ -336,7 +335,7 @@ class TestQosList(TestQos):
'Name',
'Consumer',
'Associations',
- 'Specs',
+ 'Properties',
)
self.assertEqual(collist, columns)
datalist = ((
@@ -413,7 +412,7 @@ class TestQosShow(TestQos):
'consumer',
'id',
'name',
- 'specs'
+ 'properties'
)
self.assertEqual(collist, columns)
datalist = (
diff --git a/openstackclient/volume/v1/qos_specs.py b/openstackclient/volume/v1/qos_specs.py
index b824b351..bae8c1ab 100644
--- a/openstackclient/volume/v1/qos_specs.py
+++ b/openstackclient/volume/v1/qos_specs.py
@@ -94,7 +94,9 @@ class CreateQos(command.ShowOne):
specs.update(parsed_args.property)
qos_spec = volume_client.qos_specs.create(parsed_args.name, specs)
-
+ qos_spec._info.update(
+ {'properties': utils.format_dict(qos_spec._info.pop('specs'))}
+ )
return zip(*sorted(six.iteritems(qos_spec._info)))
@@ -190,8 +192,10 @@ class ListQos(command.Lister):
for association in qos_associations]
qos._info.update({'associations': associations})
+ display_columns = (
+ 'ID', 'Name', 'Consumer', 'Associations', 'Properties')
columns = ('ID', 'Name', 'Consumer', 'Associations', 'Specs')
- return (columns,
+ return (display_columns,
(utils.get_dict_properties(
s._info, columns,
formatters={
@@ -254,7 +258,8 @@ class ShowQos(command.ShowOne):
qos_spec._info.update({
'associations': utils.format_list(associations)
})
- qos_spec._info.update({'specs': utils.format_dict(qos_spec.specs)})
+ qos_spec._info.update(
+ {'properties': utils.format_dict(qos_spec._info.pop('specs'))})
return zip(*sorted(six.iteritems(qos_spec._info)))