summaryrefslogtreecommitdiff
path: root/ironic/tests/unit/drivers/modules/ilo/test_inspect.py
diff options
context:
space:
mode:
authorNisha Agarwal <agarwalnisha1980@gmail.com>2017-01-19 22:24:17 +0000
committerNisha Agarwal <agarwalnisha1980@gmail.com>2017-08-17 05:01:20 -0700
commitcdab37f6990f9c5aea68b82f723137bd0611cbb8 (patch)
tree0ef6c354c12221c67ec668852baed4b8d9c91477 /ironic/tests/unit/drivers/modules/ilo/test_inspect.py
parent9d8ca37a373796f354231c8a0f6370875912dcd2 (diff)
downloadironic-cdab37f6990f9c5aea68b82f723137bd0611cbb8.tar.gz
Add the new capabilities to the iLO InspectInterface
This patch adds the new capabilities to iLO InspectInterface as listed in the specification. It requires proliantutils version >=2.4.0 for these new capabilities. This patch also removes three capabilities keys from iLO InspectInterface - ``max_raid_level``, ``BootMode``, and ``sr_iov_devices``. max_raid_level - It cannot be discovered out-of-band using proliantutils. The capability is set during RAID configuration as ``raid_level`` instead. sr_iov_devices - It cannot be discovered out-of-band. Required Inband mechanism to discover this. BootMode - This capability required Nova to change as the value was supposed to be a list of supported boot modes on the system. Nova asked to implement the Boolean capabilities instead. Partial-Bug: 1599425 Change-Id: I64c3e471d55c2020204cf7a20e50c399e43eccf7
Diffstat (limited to 'ironic/tests/unit/drivers/modules/ilo/test_inspect.py')
-rw-r--r--ironic/tests/unit/drivers/modules/ilo/test_inspect.py31
1 files changed, 25 insertions, 6 deletions
diff --git a/ironic/tests/unit/drivers/modules/ilo/test_inspect.py b/ironic/tests/unit/drivers/modules/ilo/test_inspect.py
index 7276b3dda..242751ee4 100644
--- a/ironic/tests/unit/drivers/modules/ilo/test_inspect.py
+++ b/ironic/tests/unit/drivers/modules/ilo/test_inspect.py
@@ -199,8 +199,8 @@ class IloInspectTestCase(db_base.DbTestCase):
properties = {'memory_mb': '512', 'local_gb': '10',
'cpus': '1', 'cpu_arch': 'x86_64'}
macs = {'Port 1': 'aa:aa:aa:aa:aa:aa', 'Port 2': 'bb:bb:bb:bb:bb:bb'}
- capability_str = 'BootMode:uefi'
- capabilities = {'BootMode': 'uefi'}
+ capability_str = 'sriov_enabled:true'
+ capabilities = {'sriov_enabled': 'true'}
result = {'properties': properties, 'macs': macs}
get_essential_mock.return_value = result
get_capabilities_mock.return_value = capabilities
@@ -240,15 +240,15 @@ class IloInspectTestCase(db_base.DbTestCase):
'somekey': 'somevalue'}
macs = {'Port 1': 'aa:aa:aa:aa:aa:aa', 'Port 2': 'bb:bb:bb:bb:bb:bb'}
result = {'properties': properties, 'macs': macs}
- capabilities = {'BootMode': 'uefi'}
+ capabilities = {'sriov_enabled': 'true'}
get_essential_mock.return_value = result
get_capabilities_mock.return_value = capabilities
power_mock.return_value = states.POWER_ON
with task_manager.acquire(self.context, self.node.uuid,
shared=False) as task:
- task.node.properties = {'capabilities': 'foo:bar'}
- expected_capabilities = ('BootMode:uefi,'
- 'foo:bar')
+ task.node.properties = {'capabilities': 'boot_mode:uefi'}
+ expected_capabilities = ('sriov_enabled:true,'
+ 'boot_mode:uefi')
set1 = set(expected_capabilities.split(','))
task.driver.inspect.inspect_hardware(task)
end_capabilities = task.node.properties['capabilities']
@@ -414,3 +414,22 @@ class TestInspectPrivateMethods(db_base.DbTestCase):
data = {'properties': properties, 'macs': macs}
self.assertRaises(exception.HardwareInspectionFailure,
ilo_inspect._validate, self.node, data)
+
+ def test___create_supported_capabilities_dict(self):
+ capabilities = {}
+ expected = {}
+ for key in ilo_inspect.CAPABILITIES_KEYS:
+ capabilities.update({key: 'true'})
+ expected.update({key: 'true'})
+ capabilities.update({'unknown_property': 'true'})
+ cap = ilo_inspect._create_supported_capabilities_dict(capabilities)
+ self.assertEqual(expected, cap)
+
+ def test___create_supported_capabilities_dict_excluded_capability(self):
+ capabilities = {}
+ expected = {}
+ for key in ilo_inspect.CAPABILITIES_KEYS - {'has_ssd'}:
+ capabilities.update({key: 'true'})
+ expected.update({key: 'true'})
+ cap = ilo_inspect._create_supported_capabilities_dict(capabilities)
+ self.assertEqual(expected, cap)