From 3067d93a4e5725e657c62f45b3d23cc13f338eab Mon Sep 17 00:00:00 2001 From: Ruby Loo Date: Thu, 8 Jun 2017 18:23:39 -0400 Subject: [PATCH] Adds --driver option to OSC "node list" command For the OSC command ``openstack baremetal node list``, adds the ``--driver `` option to limit the list to nodes with the specified driver. Change-Id: Id5d17bc393df25b1d6f83621f6f4eb9f9c4ac746 Closes-Bug: #1696871 --- ironicclient/osc/v1/baremetal_node.py | 7 ++++++ .../tests/unit/osc/v1/test_baremetal_node.py | 24 +++++++++++++++++++ ...e-list-option-driver-a2901ba6b4e1d3b5.yaml | 6 +++++ 3 files changed, 37 insertions(+) create mode 100644 releasenotes/notes/osc-node-list-option-driver-a2901ba6b4e1d3b5.yaml 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.