diff --git a/ironicclient/osc/v1/baremetal_node.py b/ironicclient/osc/v1/baremetal_node.py index 0dadba634..e108a627e 100755 --- a/ironicclient/osc/v1/baremetal_node.py +++ b/ironicclient/osc/v1/baremetal_node.py @@ -566,6 +566,11 @@ class ListBaremetalNode(command.Lister): dest='provision_state', metavar='', help=_("List nodes in specified provision state.")) + parser.add_argument( + '--driver', + dest='driver', + metavar='', + help=_("Limit list to nodes with driver ")) parser.add_argument( '--resource-class', dest='resource_class', @@ -617,6 +622,8 @@ class ListBaremetalNode(command.Lister): params['maintenance'] = parsed_args.maintenance if parsed_args.provision_state: params['provision_state'] = parsed_args.provision_state + if parsed_args.driver: + params['driver'] = parsed_args.driver if parsed_args.resource_class: params['resource_class'] = parsed_args.resource_class if parsed_args.chassis: diff --git a/ironicclient/tests/unit/osc/v1/test_baremetal_node.py b/ironicclient/tests/unit/osc/v1/test_baremetal_node.py index a9f3e647d..ffcbc271e 100644 --- a/ironicclient/tests/unit/osc/v1/test_baremetal_node.py +++ b/ironicclient/tests/unit/osc/v1/test_baremetal_node.py @@ -779,6 +779,30 @@ class TestBaremetalList(TestBaremetal): **kwargs ) + def test_baremetal_list_driver(self): + arglist = [ + '--driver', 'ipmi', + ] + verifylist = [ + ('driver', 'ipmi'), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'marker': None, + 'limit': None, + 'driver': 'ipmi' + } + + self.baremetal_mock.node.list.assert_called_with( + **kwargs + ) + def test_baremetal_list_resource_class(self): arglist = [ '--resource-class', 'foo', diff --git a/releasenotes/notes/osc-node-list-option-driver-a2901ba6b4e1d3b5.yaml b/releasenotes/notes/osc-node-list-option-driver-a2901ba6b4e1d3b5.yaml new file mode 100644 index 000000000..417de1164 --- /dev/null +++ b/releasenotes/notes/osc-node-list-option-driver-a2901ba6b4e1d3b5.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + For the OSC command ``openstack baremetal node list``, adds the + ``--driver `` option to limit the list to nodes with the + specified driver.