From 1be6c2d92fd83d9ba4a6813aa409cc888c0ce8fe Mon Sep 17 00:00:00 2001 From: Huanxuan Ao Date: Fri, 3 Feb 2017 15:13:52 +0800 Subject: [PATCH] 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 --- .../tests/functional/volume/v1/test_qos.py | 4 ++-- .../tests/unit/volume/v1/test_qos_specs.py | 21 +++++++++---------- openstackclient/volume/v1/qos_specs.py | 11 +++++++--- 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 9ca32b0a08..434840f623 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 464038e733..e3dc1e787a 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 b824b35179..bae8c1ab0c 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)))