From 72f7a70184d02ad6b4b4ba47802a898a40f5473c Mon Sep 17 00:00:00 2001 From: Julia Kreger Date: Thu, 12 Jul 2018 12:29:21 -0700 Subject: [PATCH] Follow-up changes to iRMC bios interface. Minor formatting and fix-ups for the iRMC bios interface addition patch. Update new scciclient version which will support this feature for newer iRMC server versions. Co-Authored-By: Nguyen Van Trung Change-Id: I6cfe8175e687d6a900a17b31e75459d8b01a8edb --- doc/source/admin/drivers/irmc.rst | 84 +++++++++---------- driver-requirements.txt | 2 +- .../unit/drivers/modules/irmc/test_bios.py | 1 - ironic/tests/unit/drivers/test_irmc.py | 4 +- ...n-bios-configuration-1ad24831501456d5.yaml | 4 +- 5 files changed, 47 insertions(+), 48 deletions(-) diff --git a/doc/source/admin/drivers/irmc.rst b/doc/source/admin/drivers/irmc.rst index ef1cba4858..339151200a 100644 --- a/doc/source/admin/drivers/irmc.rst +++ b/doc/source/admin/drivers/irmc.rst @@ -18,7 +18,7 @@ Prerequisites * Install `python-scciclient `_ and `pysnmp `_ packages:: - $ pip install "python-scciclient>=0.7.1" pysnmp + $ pip install "python-scciclient>=0.7.2" pysnmp Hardware Type ============= @@ -101,7 +101,7 @@ Here is a command example to enroll a node with ``irmc`` hardware type. .. code-block:: console - openstack baremetal node create --os-baremetal-api-version=1.31 \ + openstack baremetal node create \ --bios-interface irmc \ --boot-interface irmc-pxe \ --deploy-interface direct \ @@ -494,7 +494,7 @@ The ``irmc`` hardware type provides the iRMC BIOS configuration with ``irmc`` bios interface. .. warning:: - ``irmc`` bios interface does not support``factory_reset``. + ``irmc`` bios interface does not support ``factory_reset``. Configuration @@ -502,45 +502,45 @@ Configuration The BIOS configuration in the iRMC driver supports the following settings: - - ``boot_option_filter``: Specifies from which drives can be booted. This - supports following options: ``UefiAndLegacy``, ``LegacyOnly``, ``UefiOnly``. - - ``check_controllers_health_status_enabled``: The UEFI FW checks the - controller health status. This supports following options: ``true``, ``false``. - - ``cpu_active_processor_cores``: The number of active processor cores 1...n. - Option 0 indicates that all available processor cores are active. - - ``cpu_adjacent_cache_line_prefetch_enabled``: The processor loads the requested - cache line and the adjacent cache line. This supports following options: - ``true``, ``false``. - - ``cpu_vt_enabled``: Supports the virtualization of platform hardware and - several software environments, based on Virtual Machine Extensions to - support the use of several software environments using virtual computers. - This supports following options: ``true``, ``false``. - - ``flash_write_enabled``: The system BIOS can be written. Flash BIOS update - is possible. This supports following options: ``true``, ``false``. - - ``hyper_threading_enabled``: Hyper-threading technology allows a single - physical processor core to appear as several logical processors. This - supports following options: ``true``, ``false``. - - ``keep_void_boot_options_enabled``: Boot Options will not be removed from - "Boot Option Priority" list. This supports following options: ``true``, - ``false``. - - ``launch_csm_enabled``: Specifies whether the Compatibility Support Module - (CSM) is executed. This supports following options: ``true``, ``false``. - - ``os_energy_performance_override_enabled``: Prevents the OS from overruling - any energy efficiency policy setting of the setup. This supports following - options: ``true``, ``false``. - - ``pci_aspm_support``: Active State Power Management (ASPM) is used to - power-manage the PCI Express links, thus consuming less power. This - supports following options: ``Disabled``, ``Auto``, ``L0Limited``, - ``L1only``, ``L0Force``. - - ``pci_above_4g_decoding_enabled``: Specifies if memory resources above the - 4GB address boundary can be assigned to PCI devices. This supports - following options: ``true``, ``false``. - - ``power_on_source``: Specifies whether the switch on sources for the system - are managed by the BIOS or the ACPI operating system. This supports - following options: ``BiosControlled``, ``AcpiControlled``. - - ``single_root_io_virtualization_support_enabled``: Single Root IO - Virtualization Support is active. This supports following - options: ``true``, ``false``. +- ``boot_option_filter``: Specifies from which drives can be booted. This + supports following options: ``UefiAndLegacy``, ``LegacyOnly``, ``UefiOnly``. +- ``check_controllers_health_status_enabled``: The UEFI FW checks the + controller health status. This supports following options: ``true``, ``false``. +- ``cpu_active_processor_cores``: The number of active processor cores 1...n. + Option 0 indicates that all available processor cores are active. +- ``cpu_adjacent_cache_line_prefetch_enabled``: The processor loads the requested + cache line and the adjacent cache line. This supports following options: + ``true``, ``false``. +- ``cpu_vt_enabled``: Supports the virtualization of platform hardware and + several software environments, based on Virtual Machine Extensions to + support the use of several software environments using virtual computers. + This supports following options: ``true``, ``false``. +- ``flash_write_enabled``: The system BIOS can be written. Flash BIOS update + is possible. This supports following options: ``true``, ``false``. +- ``hyper_threading_enabled``: Hyper-threading technology allows a single + physical processor core to appear as several logical processors. This + supports following options: ``true``, ``false``. +- ``keep_void_boot_options_enabled``: Boot Options will not be removed from + "Boot Option Priority" list. This supports following options: ``true``, + ``false``. +- ``launch_csm_enabled``: Specifies whether the Compatibility Support Module + (CSM) is executed. This supports following options: ``true``, ``false``. +- ``os_energy_performance_override_enabled``: Prevents the OS from overruling + any energy efficiency policy setting of the setup. This supports following + options: ``true``, ``false``. +- ``pci_aspm_support``: Active State Power Management (ASPM) is used to + power-manage the PCI Express links, thus consuming less power. This + supports following options: ``Disabled``, ``Auto``, ``L0Limited``, + ``L1only``, ``L0Force``. +- ``pci_above_4g_decoding_enabled``: Specifies if memory resources above the + 4GB address boundary can be assigned to PCI devices. This supports + following options: ``true``, ``false``. +- ``power_on_source``: Specifies whether the switch on sources for the system + are managed by the BIOS or the ACPI operating system. This supports + following options: ``BiosControlled``, ``AcpiControlled``. +- ``single_root_io_virtualization_support_enabled``: Single Root IO + Virtualization Support is active. This supports following + options: ``true``, ``false``. The BIOS configuration is supported as a manual cleaning step. See :ref:`bios` for more details and examples. diff --git a/driver-requirements.txt b/driver-requirements.txt index 7b572f4026..7d34d9ea2c 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -8,7 +8,7 @@ proliantutils>=2.5.0 pysnmp python-ironic-inspector-client>=1.5.0 python-oneviewclient<3.0.0,>=2.5.2 -python-scciclient>=0.7.1 +python-scciclient>=0.7.2 python-ilorest-library>=2.1.0 hpOneView>=4.4.0 UcsSdk==0.8.2.2 diff --git a/ironic/tests/unit/drivers/modules/irmc/test_bios.py b/ironic/tests/unit/drivers/modules/irmc/test_bios.py index 0ae7292a0c..ad1aa77a4a 100644 --- a/ironic/tests/unit/drivers/modules/irmc/test_bios.py +++ b/ironic/tests/unit/drivers/modules/irmc/test_bios.py @@ -30,7 +30,6 @@ class IRMCBIOSTestCase(test_common.BaseIRMCTest): def setUp(self): super(IRMCBIOSTestCase, self).setUp() - self.config(enabled_bios_interfaces=['irmc']) @mock.patch.object(irmc_common, 'parse_driver_info', autospec=True) diff --git a/ironic/tests/unit/drivers/test_irmc.py b/ironic/tests/unit/drivers/test_irmc.py index af5c8dffef..ba1cf88192 100644 --- a/ironic/tests/unit/drivers/test_irmc.py +++ b/ironic/tests/unit/drivers/test_irmc.py @@ -167,7 +167,7 @@ class IRMCHardwareTestCase(db_base.DbTestCase): self.context, driver='irmc', deploy_interface='direct', rescue_interface='agent', - bios_interface='irmc') + bios_interface='no-bios') with task_manager.acquire(self.context, node.id) as task: self.assertIsInstance(task.driver.boot, irmc.boot.IRMCVirtualMediaBoot) @@ -182,6 +182,6 @@ class IRMCHardwareTestCase(db_base.DbTestCase): self.assertIsInstance(task.driver.power, irmc.power.IRMCPower) self.assertIsInstance(task.driver.bios, - irmc_bios.IRMCBIOS) + noop.NoBIOS) self.assertIsInstance(task.driver.rescue, agent.AgentRescue) diff --git a/releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml b/releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml index fd5abce8ff..c05ff0acb7 100644 --- a/releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml +++ b/releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml @@ -1,6 +1,6 @@ --- features: - | - Adds new ``bios`` interface to ``irmc`` hardware type. And provide + Adds new ``bios`` interface to ``irmc`` hardware type. This provides out-of-band BIOS configuration solution for iRMC driver which makes - the functionality available via manual cleaning. \ No newline at end of file + the functionality available via manual cleaning.