diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-08-25 04:08:38 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-08-25 04:08:38 +0000 |
| commit | df64853e93b6d7057d18dff212b4732a35d44448 (patch) | |
| tree | 9c621d422ff1c1317dc6f18b7b1aa7aa95f16faf | |
| parent | 5e04d15a5a10587d15dab211689532bb4d45b77b (diff) | |
| parent | eb8d9e84809c146459b972bb258a979d52903217 (diff) | |
| download | python-ironicclient-df64853e93b6d7057d18dff212b4732a35d44448.tar.gz | |
Merge "Add 'openstack baremetal node adopt' command"
| -rw-r--r-- | ironicclient/osc/v1/baremetal_node.py | 9 | ||||
| -rw-r--r-- | ironicclient/tests/unit/osc/v1/test_baremetal_node.py | 22 | ||||
| -rw-r--r-- | releasenotes/notes/osc-plugin-node-adopt-72e195998d305978.yaml | 5 | ||||
| -rw-r--r-- | setup.cfg | 1 |
4 files changed, 36 insertions, 1 deletions
diff --git a/ironicclient/osc/v1/baremetal_node.py b/ironicclient/osc/v1/baremetal_node.py index 1906df2..b38b705 100644 --- a/ironicclient/osc/v1/baremetal_node.py +++ b/ironicclient/osc/v1/baremetal_node.py @@ -67,6 +67,13 @@ class AbortBaremetalNode(ProvisionStateBaremetalNode): PROVISION_STATE = 'abort' +class AdoptBaremetalNode(ProvisionStateBaremetalNode): + """Set provision state of baremetal node to 'adopt'""" + + log = logging.getLogger(__name__ + ".AdoptBaremetalNode") + PROVISION_STATE = 'adopt' + + class CleanBaremetalNode(ProvisionStateBaremetalNode): """Set provision state of baremetal node to 'clean'""" @@ -271,7 +278,7 @@ class ListBaremetalNode(lister.Lister): log = logging.getLogger(__name__ + ".ListBaremetalNode") PROVISION_STATES = ['active', 'deleted', 'rebuild', 'inspect', 'provide', - 'manage', 'clean', 'abort'] + 'manage', 'clean', 'adopt', 'abort'] def get_parser(self, prog_name): parser = super(ListBaremetalNode, self).get_parser(prog_name) diff --git a/ironicclient/tests/unit/osc/v1/test_baremetal_node.py b/ironicclient/tests/unit/osc/v1/test_baremetal_node.py index 0f1eab0..407201a 100644 --- a/ironicclient/tests/unit/osc/v1/test_baremetal_node.py +++ b/ironicclient/tests/unit/osc/v1/test_baremetal_node.py @@ -34,6 +34,28 @@ class TestBaremetal(baremetal_fakes.TestBaremetal): self.baremetal_mock.reset_mock() +class TestAdopt(TestBaremetal): + def setUp(self): + super(TestAdopt, self).setUp() + + # Get the command object to test + self.cmd = baremetal_node.AdoptBaremetalNode(self.app, None) + + def test_adopt(self): + arglist = ['node_uuid'] + verifylist = [ + ('node', 'node_uuid'), + ('provision_state', 'adopt'), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + self.cmd.take_action(parsed_args) + + self.baremetal_mock.node.set_provision_state.assert_called_once_with( + 'node_uuid', 'adopt') + + class TestBaremetalCreate(TestBaremetal): def setUp(self): super(TestBaremetalCreate, self).setUp() diff --git a/releasenotes/notes/osc-plugin-node-adopt-72e195998d305978.yaml b/releasenotes/notes/osc-plugin-node-adopt-72e195998d305978.yaml new file mode 100644 index 0000000..eb28579 --- /dev/null +++ b/releasenotes/notes/osc-plugin-node-adopt-72e195998d305978.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Extends the OpenStackClient plug-in with the command + "openstack baremetal node adopt". @@ -33,6 +33,7 @@ openstack.baremetal.v1 = baremetal_delete = ironicclient.osc.v1.baremetal_node:DeleteBaremetal baremetal_list = ironicclient.osc.v1.baremetal_node:ListBaremetal baremetal_node_abort = ironicclient.osc.v1.baremetal_node:AbortBaremetalNode + baremetal_node_adopt = ironicclient.osc.v1.baremetal_node:AdoptBaremetalNode baremetal_node_clean = ironicclient.osc.v1.baremetal_node:CleanBaremetalNode baremetal_node_create = ironicclient.osc.v1.baremetal_node:CreateBaremetalNode baremetal_node_delete = ironicclient.osc.v1.baremetal_node:DeleteBaremetalNode |
