Return new composed node ID

It should return new composed node ID to user, since this is the
only chance for user to get it.

Change-Id: I519111febf5e326f6fa9919472e49e9e04c96f02
This commit is contained in:
Lin Yang 2017-08-17 17:45:47 -07:00
parent fd3fb28906
commit 6e9aeaaa00
3 changed files with 7 additions and 7 deletions

View File

@ -36,9 +36,8 @@ class ComposeNode(command.Command):
args = {
'Name': parsed_args.name
}
rsd_client.node.compose(args)
print("Request to compose node %s was accepted"
% parsed_args.name)
node_id = rsd_client.node.compose(args)
print("Node {0} has been composed.".format(node_id))
class DeleteNode(command.Command):

View File

@ -29,11 +29,13 @@ class ClusterManagerTest(testtools.TestCase):
def test_compose_node(self):
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
self.mgr.compose({'Name': 'fake_name'})
result = self.mgr.compose({'Name': 'fake_name'})
self.mgr.client.get_node_collection.assert_called_once()
mock_node_collection.compose_node.assert_called_once_with(
{'Name': 'fake_name'})
self.assertEqual(result, '1')
def test_delete_node(self):
node_id = '1'

View File

@ -30,9 +30,8 @@ class NodeManager(base.Manager):
return os.path.join(self.nodes_path, node_id)
def compose(self, properites):
# TODO(lin.yang): should return id of new composed node, like
# 'redfish/v1/Nodes/1'
return self.client.get_node_collection().compose_node(properites)
node_uri = self.client.get_node_collection().compose_node(properites)
return node_uri[len(self.nodes_path) + 1:]
def delete(self, node_id):
self.client.get_node(self._get_node_uri(node_id)).delete_node()