Assemble node after node composition

Assume most of user will assemble node after composition, so assemble
node automatically instead of requiring user to execute another
command.

Change-Id: Ib60a01d37a03c5499f1c56e56095ffad387ad2e5
This commit is contained in:
Lin Yang 2018-03-01 21:11:00 -08:00
parent 453c208352
commit 2a905351ef
2 changed files with 15 additions and 1 deletions

View File

@ -32,6 +32,10 @@ class NodeTest(testtools.TestCase):
mock_node_collection = mock.Mock()
mock_node_collection.compose_node.return_value = '/redfish/v1/Nodes/1'
self.client.get_node_collection.return_value = mock_node_collection
mock_node = mock.Mock()
self.client.get_node.return_value = mock_node
result = self.mgr.compose(name='fake_name',
description='fake_description')
self.mgr.client.get_node_collection.assert_called_once()
@ -39,6 +43,9 @@ class NodeTest(testtools.TestCase):
name='fake_name', description='fake_description',
processor_req=None, memory_req=None, remote_drive_req=None,
local_drive_req=None, ethernet_interface_req=None)
self.mgr.client.get_node.assert_called_once_with(
self.mgr._get_node_uri(result))
mock_node.assemble_node.assert_called_once()
self.assertEqual(result, '1')
def test_delete_node(self):

View File

@ -38,7 +38,14 @@ class NodeManager(base.Manager):
memory_req=memory_req, remote_drive_req=remote_drive_req,
local_drive_req=local_drive_req,
ethernet_interface_req=ethernet_interface_req)
return node_uri[len(self.nodes_path) + 1:]
# Assume most of user will assemble node after composition, so assemble
# node automatically here
node_id = node_uri[len(self.nodes_path) + 1:]
node = self.client.get_node(self._get_node_uri(node_id))
node.assemble_node()
return node_id
def delete(self, node_id):
self.client.get_node(self._get_node_uri(node_id)).delete_node()