Skip to content

Commit 11909b8

Browse files
jayofdoomelfosardo
authored andcommitted
Stop using deprecated format_* from osc_utils
Added our own formatter which replaces the deprecated/removed one. It's contents are essentially format_dict from osc-lib 3.2.0 stuffed into a cliff column object. Change-Id: If28bda0a11f3e4a0d02a6a52040e8ca65611822f
1 parent 40cae66 commit 11909b8

File tree

10 files changed

+35
-10
lines changed

10 files changed

+35
-10
lines changed

ironicclient/common/utils.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import tempfile
2626
import time
2727

28+
from cliff import columns
2829
from oslo_utils import strutils
2930
import yaml
3031

@@ -462,3 +463,26 @@ def get_json_data(data):
462463
return json.loads(data)
463464
except ValueError:
464465
return None
466+
467+
468+
def format_hash(data):
469+
if data is None:
470+
return None
471+
472+
output = ""
473+
for s in sorted(data):
474+
key_str = s
475+
if isinstance(data[s], dict):
476+
# NOTE(dtroyer): Only append the separator chars here, quoting
477+
# is completely handled in the terminal case.
478+
output = output + format_hash(data[s], prefix=key_str) + ", "
479+
elif data[s] is not None:
480+
output = output + key_str + "='" + str(data[s]) + "', "
481+
else:
482+
output = output + key_str + "=, "
483+
return output[:-2]
484+
485+
486+
class HashColumn(columns.FormattableColumn):
487+
def human_readable(self):
488+
return format_hash(self._value)

ironicclient/osc/v1/baremetal_chassis.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def take_action(self, parsed_args):
190190

191191
return (labels,
192192
(oscutils.get_item_properties(s, columns, formatters={
193-
'Properties': oscutils.format_dict},) for s in data))
193+
'Properties': utils.HashColumn},) for s in data))
194194

195195

196196
class SetBaremetalChassis(command.Command):

ironicclient/osc/v1/baremetal_conductor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from osc_lib import utils as oscutils
2222

2323
from ironicclient.common.i18n import _
24+
from ironicclient.common import utils
2425
from ironicclient import exc
2526
from ironicclient.v1 import resource_fields as res_fields
2627

@@ -106,7 +107,7 @@ def take_action(self, parsed_args):
106107

107108
return (labels,
108109
(oscutils.get_item_properties(s, columns, formatters={
109-
'Properties': oscutils.format_dict},) for s in data))
110+
'Properties': utils.HashColumn},) for s in data))
110111

111112

112113
class ShowBaremetalConductor(command.ShowOne):

ironicclient/osc/v1/baremetal_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -920,7 +920,7 @@ def take_action(self, parsed_args):
920920

921921
return (labels,
922922
(oscutils.get_item_properties(s, columns, formatters={
923-
'Properties': oscutils.format_dict},) for s in data))
923+
'Properties': utils.HashColumn},) for s in data))
924924

925925

926926
class MaintenanceSetBaremetalNode(command.Command):

ironicclient/osc/v1/baremetal_port.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,4 +547,4 @@ def take_action(self, parsed_args):
547547

548548
return (labels,
549549
(oscutils.get_item_properties(s, columns, formatters={
550-
'extra': oscutils.format_dict},) for s in data))
550+
'extra': utils.HashColumn},) for s in data))

ironicclient/osc/v1/baremetal_portgroup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ def take_action(self, parsed_args):
252252

253253
return (labels,
254254
(oscutils.get_item_properties(s, columns, formatters={
255-
'Properties': oscutils.format_dict},) for s in data))
255+
'Properties': utils.HashColumn},) for s in data))
256256

257257

258258
class DeleteBaremetalPortGroup(command.Command):

ironicclient/osc/v1/baremetal_volume_connector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ def take_action(self, parsed_args):
218218

219219
return (labels,
220220
(oscutils.get_item_properties(s, columns, formatters={
221-
'Properties': oscutils.format_dict},) for s in data))
221+
'Properties': utils.HashColumn},) for s in data))
222222

223223

224224
class DeleteBaremetalVolumeConnector(command.Command):

ironicclient/osc/v1/baremetal_volume_target.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ def take_action(self, parsed_args):
234234

235235
return (labels,
236236
(oscutils.get_item_properties(s, columns, formatters={
237-
'Properties': oscutils.format_dict},) for s in data))
237+
'Properties': utils.HashColumn},) for s in data))
238238

239239

240240
class DeleteBaremetalVolumeTarget(command.Command):

ironicclient/tests/unit/osc/v1/test_baremetal_port.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
from unittest import mock
1919

2020
from osc_lib.tests import utils as osctestutils
21-
from osc_lib import utils as oscutils
2221

22+
from ironicclient.common import utils
2323
from ironicclient import exc
2424
from ironicclient.osc.v1 import baremetal_port
2525
from ironicclient.tests.unit.osc.v1 import fakes as baremetal_fakes
@@ -813,7 +813,7 @@ def test_baremetal_port_list_long(self):
813813
baremetal_fakes.baremetal_port_uuid,
814814
baremetal_fakes.baremetal_port_address,
815815
'',
816-
oscutils.format_dict(baremetal_fakes.baremetal_port_extra),
816+
utils.HashColumn(baremetal_fakes.baremetal_port_extra),
817817
baremetal_fakes.baremetal_uuid,
818818
'',
819819
'',

ironicclient/tests/unit/v1/test_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2240,7 +2240,7 @@ def side_effect(node_manager, node_ident, *args, **kwargs):
22402240
mock_get.side_effect = side_effect
22412241

22422242
self.assertRaisesRegex(exc.StateTransitionTimeout,
2243-
r'Node\(s\) node2',
2243+
r'.*node2.*',
22442244
self.mgr.wait_for_provision_state,
22452245
['node1', 'node2'], 'active',
22462246
timeout=0.001)

0 commit comments

Comments
 (0)