Merge "follow up patch for ilo capabilities"
This commit is contained in:
commit
f0be66f96c
@ -155,6 +155,9 @@ def _update_capabilities(node, new_capabilities):
|
||||
:returns: The capability string after adding/updating the
|
||||
node_capabilities with new_capabilities
|
||||
:raises: InvalidParameterValue, if node_capabilities is malformed.
|
||||
:raises: HardwareInspectionFailure, if inspected capabilities
|
||||
are not in dictionary format.
|
||||
|
||||
"""
|
||||
cap_dict = {}
|
||||
node_capabilities = node.properties.get('capabilities')
|
||||
@ -171,12 +174,12 @@ def _update_capabilities(node, new_capabilities):
|
||||
"properties['capabilities'] string")
|
||||
% {'node': node.uuid, 'capabilities': node_capabilities})
|
||||
raise exception.InvalidParameterValue(msg)
|
||||
if new_capabilities and isinstance(new_capabilities, dict):
|
||||
if isinstance(new_capabilities, dict):
|
||||
cap_dict.update(new_capabilities)
|
||||
else:
|
||||
msg = (_("The expected format of capabilities from inspection "
|
||||
"is dictionary while node %(node)s returned "
|
||||
"%(capabilities)s."), {'node': node.uuid,
|
||||
"%(capabilities)s.") % {'node': node.uuid,
|
||||
'capabilities': new_capabilities})
|
||||
raise exception.HardwareInspectionFailure(error=msg)
|
||||
return ','.join(['%(key)s:%(value)s' % {'key': key, 'value': value}
|
||||
@ -229,7 +232,6 @@ def _get_macs_for_desired_ports(node, macs):
|
||||
to_be_created_macs = macs
|
||||
else:
|
||||
to_be_created_macs = {}
|
||||
# desired_macs_list = desired_macs.split(',')
|
||||
# The list should look like ['Port 1', 'Port 2'] as
|
||||
# iLO returns port numbers like this.
|
||||
desired_macs_list = [
|
||||
|
@ -483,7 +483,9 @@ class TestInspectPrivateMethods(db_base.DbTestCase):
|
||||
cap_string = 'ilo_firmware_version:xyz,foo:bar,somekey:value'
|
||||
cap_returned = ilo_inspect._update_capabilities(self.node,
|
||||
capabilities)
|
||||
self.assertEqual(sorted(cap_string), sorted(cap_returned))
|
||||
set1 = set(cap_string.split(','))
|
||||
set2 = set(cap_returned.split(','))
|
||||
self.assertEqual(set1, set2)
|
||||
self.assertIsInstance(cap_returned, str)
|
||||
|
||||
def test__update_capabilities_invalid_capabilities(self):
|
||||
@ -498,6 +500,30 @@ class TestInspectPrivateMethods(db_base.DbTestCase):
|
||||
ilo_inspect._update_capabilities,
|
||||
self.node, capabilities)
|
||||
|
||||
def test__update_capabilities_add_to_existing_capabilities(self):
|
||||
node_capabilities = {'capabilities': 'foo:bar'}
|
||||
self.node.properties.update(node_capabilities)
|
||||
new_capabilities = {'BootMode': 'uefi'}
|
||||
expected_capabilities = 'BootMode:uefi,foo:bar'
|
||||
cap_returned = ilo_inspect._update_capabilities(self.node,
|
||||
new_capabilities)
|
||||
set1 = set(expected_capabilities.split(','))
|
||||
set2 = set(cap_returned.split(','))
|
||||
self.assertEqual(set1, set2)
|
||||
self.assertIsInstance(cap_returned, str)
|
||||
|
||||
def test__update_capabilities_replace_to_existing_capabilities(self):
|
||||
node_capabilities = {'capabilities': 'BootMode:uefi'}
|
||||
self.node.properties.update(node_capabilities)
|
||||
new_capabilities = {'BootMode': 'bios'}
|
||||
expected_capabilities = 'BootMode:bios'
|
||||
cap_returned = ilo_inspect._update_capabilities(self.node,
|
||||
new_capabilities)
|
||||
set1 = set(expected_capabilities.split(','))
|
||||
set2 = set(cap_returned.split(','))
|
||||
self.assertEqual(set1, set2)
|
||||
self.assertIsInstance(cap_returned, str)
|
||||
|
||||
def test__get_macs_for_desired_ports(self):
|
||||
driver_info_mock = {'inspect_ports': '1,2'}
|
||||
self.node.driver_info = driver_info_mock
|
||||
|
Loading…
x
Reference in New Issue
Block a user