diff options
author | Nisha Agarwal <agarwalnisha1980@gmail.com> | 2017-01-19 22:24:17 +0000 |
---|---|---|
committer | Nisha Agarwal <agarwalnisha1980@gmail.com> | 2017-08-17 05:01:20 -0700 |
commit | cdab37f6990f9c5aea68b82f723137bd0611cbb8 (patch) | |
tree | 0ef6c354c12221c67ec668852baed4b8d9c91477 /ironic/tests/unit/drivers/modules/ilo/test_inspect.py | |
parent | 9d8ca37a373796f354231c8a0f6370875912dcd2 (diff) | |
download | ironic-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.py | 31 |
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) |