Merge "Use new node composition API in rsd-lib"

This commit is contained in:
Jenkins 2017-09-21 17:36:36 +00:00 committed by Gerrit Code Review
commit ddaa23df71
3 changed files with 21 additions and 12 deletions

View File

@ -19,13 +19,13 @@ from rsdclient.common import command
ARGUMENTS_NAME_MAPPING = {
'name': 'Name',
'description': 'Description',
'processor': 'Processors',
'memory': 'Memory',
'remote_drives': 'RemoteDrives',
'local_drives': 'LocalDrives',
'ethernet': 'EthernetInterfaces'
'name': 'name',
'description': 'description',
'processor': 'processor_req',
'memory': 'memory_req',
'remote_drives': 'remote_drive_req',
'local_drives': 'local_drive_req',
'ethernet': 'ethernet_interface_req'
}
@ -231,7 +231,7 @@ class ComposeNode(command.Command):
for i in ARGUMENTS_NAME_MAPPING:
if getattr(parsed_args, i):
args[ARGUMENTS_NAME_MAPPING[i]] = getattr(parsed_args, i)
node_id = rsd_client.node.compose(args)
node_id = rsd_client.node.compose(**args)
print("Node {0} has been composed.".format(node_id))

View File

@ -32,10 +32,13 @@ 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
result = self.mgr.compose({'Name': 'fake_name'})
result = self.mgr.compose(name='fake_name',
description='fake_description')
self.mgr.client.get_node_collection.assert_called_once()
mock_node_collection.compose_node.assert_called_once_with(
{'Name': 'fake_name'})
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.assertEqual(result, '1')
def test_delete_node(self):

View File

@ -30,8 +30,14 @@ class NodeManager(base.Manager):
def _get_node_uri(self, node_id):
return os.path.join(self.nodes_path, node_id)
def compose(self, properites):
node_uri = self.client.get_node_collection().compose_node(properites)
def compose(self, name=None, description=None, processor_req=None,
memory_req=None, remote_drive_req=None, local_drive_req=None,
ethernet_interface_req=None):
node_uri = self.client.get_node_collection().compose_node(
name=name, description=description, processor_req=processor_req,
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:]
def delete(self, node_id):