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 <trungnv@vn.fujitsu.com>
Change-Id: I6cfe8175e687d6a900a17b31e75459d8b01a8edb
This commit is contained in:
Julia Kreger 2018-07-12 12:29:21 -07:00 committed by Nguyen Van Trung
parent fa59565be0
commit 72f7a70184
5 changed files with 47 additions and 48 deletions

View File

@ -18,7 +18,7 @@ Prerequisites
* Install `python-scciclient <https://pypi.org/project/python-scciclient>`_ * Install `python-scciclient <https://pypi.org/project/python-scciclient>`_
and `pysnmp <https://pypi.org/project/pysnmp>`_ packages:: and `pysnmp <https://pypi.org/project/pysnmp>`_ packages::
$ pip install "python-scciclient>=0.7.1" pysnmp $ pip install "python-scciclient>=0.7.2" pysnmp
Hardware Type Hardware Type
============= =============
@ -101,7 +101,7 @@ Here is a command example to enroll a node with ``irmc`` hardware type.
.. code-block:: console .. code-block:: console
openstack baremetal node create --os-baremetal-api-version=1.31 \ openstack baremetal node create \
--bios-interface irmc \ --bios-interface irmc \
--boot-interface irmc-pxe \ --boot-interface irmc-pxe \
--deploy-interface direct \ --deploy-interface direct \
@ -494,7 +494,7 @@ The ``irmc`` hardware type provides the iRMC BIOS configuration with ``irmc``
bios interface. bios interface.
.. warning:: .. warning::
``irmc`` bios interface does not support``factory_reset``. ``irmc`` bios interface does not support ``factory_reset``.
Configuration Configuration
@ -502,45 +502,45 @@ Configuration
The BIOS configuration in the iRMC driver supports the following settings: The BIOS configuration in the iRMC driver supports the following settings:
- ``boot_option_filter``: Specifies from which drives can be booted. This - ``boot_option_filter``: Specifies from which drives can be booted. This
supports following options: ``UefiAndLegacy``, ``LegacyOnly``, ``UefiOnly``. supports following options: ``UefiAndLegacy``, ``LegacyOnly``, ``UefiOnly``.
- ``check_controllers_health_status_enabled``: The UEFI FW checks the - ``check_controllers_health_status_enabled``: The UEFI FW checks the
controller health status. This supports following options: ``true``, ``false``. controller health status. This supports following options: ``true``, ``false``.
- ``cpu_active_processor_cores``: The number of active processor cores 1...n. - ``cpu_active_processor_cores``: The number of active processor cores 1...n.
Option 0 indicates that all available processor cores are active. Option 0 indicates that all available processor cores are active.
- ``cpu_adjacent_cache_line_prefetch_enabled``: The processor loads the requested - ``cpu_adjacent_cache_line_prefetch_enabled``: The processor loads the requested
cache line and the adjacent cache line. This supports following options: cache line and the adjacent cache line. This supports following options:
``true``, ``false``. ``true``, ``false``.
- ``cpu_vt_enabled``: Supports the virtualization of platform hardware and - ``cpu_vt_enabled``: Supports the virtualization of platform hardware and
several software environments, based on Virtual Machine Extensions to several software environments, based on Virtual Machine Extensions to
support the use of several software environments using virtual computers. support the use of several software environments using virtual computers.
This supports following options: ``true``, ``false``. This supports following options: ``true``, ``false``.
- ``flash_write_enabled``: The system BIOS can be written. Flash BIOS update - ``flash_write_enabled``: The system BIOS can be written. Flash BIOS update
is possible. This supports following options: ``true``, ``false``. is possible. This supports following options: ``true``, ``false``.
- ``hyper_threading_enabled``: Hyper-threading technology allows a single - ``hyper_threading_enabled``: Hyper-threading technology allows a single
physical processor core to appear as several logical processors. This physical processor core to appear as several logical processors. This
supports following options: ``true``, ``false``. supports following options: ``true``, ``false``.
- ``keep_void_boot_options_enabled``: Boot Options will not be removed from - ``keep_void_boot_options_enabled``: Boot Options will not be removed from
"Boot Option Priority" list. This supports following options: ``true``, "Boot Option Priority" list. This supports following options: ``true``,
``false``. ``false``.
- ``launch_csm_enabled``: Specifies whether the Compatibility Support Module - ``launch_csm_enabled``: Specifies whether the Compatibility Support Module
(CSM) is executed. This supports following options: ``true``, ``false``. (CSM) is executed. This supports following options: ``true``, ``false``.
- ``os_energy_performance_override_enabled``: Prevents the OS from overruling - ``os_energy_performance_override_enabled``: Prevents the OS from overruling
any energy efficiency policy setting of the setup. This supports following any energy efficiency policy setting of the setup. This supports following
options: ``true``, ``false``. options: ``true``, ``false``.
- ``pci_aspm_support``: Active State Power Management (ASPM) is used to - ``pci_aspm_support``: Active State Power Management (ASPM) is used to
power-manage the PCI Express links, thus consuming less power. This power-manage the PCI Express links, thus consuming less power. This
supports following options: ``Disabled``, ``Auto``, ``L0Limited``, supports following options: ``Disabled``, ``Auto``, ``L0Limited``,
``L1only``, ``L0Force``. ``L1only``, ``L0Force``.
- ``pci_above_4g_decoding_enabled``: Specifies if memory resources above the - ``pci_above_4g_decoding_enabled``: Specifies if memory resources above the
4GB address boundary can be assigned to PCI devices. This supports 4GB address boundary can be assigned to PCI devices. This supports
following options: ``true``, ``false``. following options: ``true``, ``false``.
- ``power_on_source``: Specifies whether the switch on sources for the system - ``power_on_source``: Specifies whether the switch on sources for the system
are managed by the BIOS or the ACPI operating system. This supports are managed by the BIOS or the ACPI operating system. This supports
following options: ``BiosControlled``, ``AcpiControlled``. following options: ``BiosControlled``, ``AcpiControlled``.
- ``single_root_io_virtualization_support_enabled``: Single Root IO - ``single_root_io_virtualization_support_enabled``: Single Root IO
Virtualization Support is active. This supports following Virtualization Support is active. This supports following
options: ``true``, ``false``. options: ``true``, ``false``.
The BIOS configuration is supported as a manual cleaning step. See :ref:`bios` The BIOS configuration is supported as a manual cleaning step. See :ref:`bios`
for more details and examples. for more details and examples.

View File

@ -8,7 +8,7 @@ proliantutils>=2.5.0
pysnmp pysnmp
python-ironic-inspector-client>=1.5.0 python-ironic-inspector-client>=1.5.0
python-oneviewclient<3.0.0,>=2.5.2 python-oneviewclient<3.0.0,>=2.5.2
python-scciclient>=0.7.1 python-scciclient>=0.7.2
python-ilorest-library>=2.1.0 python-ilorest-library>=2.1.0
hpOneView>=4.4.0 hpOneView>=4.4.0
UcsSdk==0.8.2.2 UcsSdk==0.8.2.2

View File

@ -30,7 +30,6 @@ class IRMCBIOSTestCase(test_common.BaseIRMCTest):
def setUp(self): def setUp(self):
super(IRMCBIOSTestCase, self).setUp() super(IRMCBIOSTestCase, self).setUp()
self.config(enabled_bios_interfaces=['irmc'])
@mock.patch.object(irmc_common, 'parse_driver_info', @mock.patch.object(irmc_common, 'parse_driver_info',
autospec=True) autospec=True)

View File

@ -167,7 +167,7 @@ class IRMCHardwareTestCase(db_base.DbTestCase):
self.context, driver='irmc', self.context, driver='irmc',
deploy_interface='direct', deploy_interface='direct',
rescue_interface='agent', rescue_interface='agent',
bios_interface='irmc') bios_interface='no-bios')
with task_manager.acquire(self.context, node.id) as task: with task_manager.acquire(self.context, node.id) as task:
self.assertIsInstance(task.driver.boot, self.assertIsInstance(task.driver.boot,
irmc.boot.IRMCVirtualMediaBoot) irmc.boot.IRMCVirtualMediaBoot)
@ -182,6 +182,6 @@ class IRMCHardwareTestCase(db_base.DbTestCase):
self.assertIsInstance(task.driver.power, self.assertIsInstance(task.driver.power,
irmc.power.IRMCPower) irmc.power.IRMCPower)
self.assertIsInstance(task.driver.bios, self.assertIsInstance(task.driver.bios,
irmc_bios.IRMCBIOS) noop.NoBIOS)
self.assertIsInstance(task.driver.rescue, self.assertIsInstance(task.driver.rescue,
agent.AgentRescue) agent.AgentRescue)

View File

@ -1,6 +1,6 @@
--- ---
features: 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 out-of-band BIOS configuration solution for iRMC driver which makes
the functionality available via manual cleaning. the functionality available via manual cleaning.