Merge "Add a new command "ironic node-inject-nmi""
This commit is contained in:
commit
8a1d09e898
@ -365,6 +365,13 @@ fake_responses = {
|
|||||||
None,
|
None,
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
'/v1/nodes/%s/management/inject_nmi' % NODE1['uuid']:
|
||||||
|
{
|
||||||
|
'PUT': (
|
||||||
|
{},
|
||||||
|
None,
|
||||||
|
),
|
||||||
|
},
|
||||||
'/v1/nodes/%s/management/boot_device/supported' % NODE1['uuid']:
|
'/v1/nodes/%s/management/boot_device/supported' % NODE1['uuid']:
|
||||||
{
|
{
|
||||||
'GET': (
|
'GET': (
|
||||||
@ -1210,6 +1217,14 @@ class NodeManagerTest(testtools.TestCase):
|
|||||||
self.assertEqual(expect, self.api.calls)
|
self.assertEqual(expect, self.api.calls)
|
||||||
self.assertEqual(BOOT_DEVICE, boot_device)
|
self.assertEqual(BOOT_DEVICE, boot_device)
|
||||||
|
|
||||||
|
def test_node_inject_nmi(self):
|
||||||
|
self.mgr.inject_nmi(NODE1['uuid'])
|
||||||
|
expect = [
|
||||||
|
('PUT', '/v1/nodes/%s/management/inject_nmi' % NODE1['uuid'],
|
||||||
|
{}, None),
|
||||||
|
]
|
||||||
|
self.assertEqual(expect, self.api.calls)
|
||||||
|
|
||||||
def test_node_get_supported_boot_devices(self):
|
def test_node_get_supported_boot_devices(self):
|
||||||
boot_device = self.mgr.get_supported_boot_devices(NODE1['uuid'])
|
boot_device = self.mgr.get_supported_boot_devices(NODE1['uuid'])
|
||||||
expect = [
|
expect = [
|
||||||
|
@ -837,6 +837,14 @@ class NodeShellTest(utils.BaseTestCase):
|
|||||||
n_shell.do_node_get_boot_device(client_mock, args)
|
n_shell.do_node_get_boot_device(client_mock, args)
|
||||||
client_mock.node.get_boot_device.assert_called_once_with('node_uuid')
|
client_mock.node.get_boot_device.assert_called_once_with('node_uuid')
|
||||||
|
|
||||||
|
def test_do_node_inject_nmi(self):
|
||||||
|
client_mock = mock.MagicMock()
|
||||||
|
args = mock.MagicMock()
|
||||||
|
args.node = 'node_uuid'
|
||||||
|
|
||||||
|
n_shell.do_node_inject_nmi(client_mock, args)
|
||||||
|
client_mock.node.inject_nmi.assert_called_once_with('node_uuid')
|
||||||
|
|
||||||
def test_do_node_get_supported_boot_devices(self):
|
def test_do_node_get_supported_boot_devices(self):
|
||||||
client_mock = mock.MagicMock()
|
client_mock = mock.MagicMock()
|
||||||
args = mock.MagicMock()
|
args = mock.MagicMock()
|
||||||
|
@ -423,6 +423,10 @@ class NodeManager(base.CreateManager):
|
|||||||
path = "%s/management/boot_device" % node_uuid
|
path = "%s/management/boot_device" % node_uuid
|
||||||
return self._get_as_dict(path)
|
return self._get_as_dict(path)
|
||||||
|
|
||||||
|
def inject_nmi(self, node_uuid):
|
||||||
|
path = "%s/management/inject_nmi" % node_uuid
|
||||||
|
return self.update(path, None, http_method='PUT')
|
||||||
|
|
||||||
def get_supported_boot_devices(self, node_uuid):
|
def get_supported_boot_devices(self, node_uuid):
|
||||||
path = "%s/management/boot_device/supported" % node_uuid
|
path = "%s/management/boot_device/supported" % node_uuid
|
||||||
return self._get_as_dict(path)
|
return self._get_as_dict(path)
|
||||||
|
@ -586,6 +586,12 @@ def do_node_get_boot_device(cc, args):
|
|||||||
cliutils.print_dict(boot_device, wrap=72, json_flag=args.json)
|
cliutils.print_dict(boot_device, wrap=72, json_flag=args.json)
|
||||||
|
|
||||||
|
|
||||||
|
@cliutils.arg('node', metavar='<node>', help="Name or UUID of the node.")
|
||||||
|
def do_node_inject_nmi(cc, args):
|
||||||
|
"""Inject NMI for a node."""
|
||||||
|
cc.node.inject_nmi(args.node)
|
||||||
|
|
||||||
|
|
||||||
@cliutils.arg('node', metavar='<node>', help="Name or UUID of the node.")
|
@cliutils.arg('node', metavar='<node>', help="Name or UUID of the node.")
|
||||||
def do_node_get_supported_boot_devices(cc, args):
|
def do_node_get_supported_boot_devices(cc, args):
|
||||||
"""Get the supported boot devices for a node."""
|
"""Get the supported boot devices for a node."""
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Add a new command "ironic node-inject-nmi" to support inject nmi.
|
Loading…
Reference in New Issue
Block a user