Merge "Add the noop management interface to the redfish hardware type" into stable/ussuri

This commit is contained in:
Zuul 2020-06-08 01:02:58 +00:00 committed by Gerrit Code Review
commit 6b8386cb51
4 changed files with 44 additions and 25 deletions

View File

@ -104,6 +104,41 @@ not compatible with them. There are three ways to deal with this situation:
.. note:: This feature is available starting with ironic 11.1.0 (Rocky
series, API version 1.45).
.. _static-boot-order:
Static boot order configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some hardware is known to misbehave when changing the boot device through the
BMC. To work around it you can use the ``noop`` management interface
implementation with the ``ipmi`` and ``redfish`` hardware types. In this case
the Bare Metal service will not change the boot device for you, leaving
the pre-configured boot order.
For example, in case of the :ref:`pxe-boot`:
#. Via any available means configure the boot order on the node as follows:
#. Boot from PXE/iPXE on the provisioning NIC.
.. warning::
If it is not possible to limit network boot to only provisioning NIC,
make sure that no other DHCP/PXE servers are accessible by the node.
#. Boot from hard drive.
#. Make sure the ``noop`` management interface is enabled, for example:
.. code-block:: ini
[DEFAULT]
enabled_hardware_types = ipmi,redfish
enabled_management_interfaces = ipmitool,redfish,noop
#. Change the node to use the ``noop`` management interface::
openstack baremetal node set <NODE> --management-interface noop
Unsupported drivers
-------------------

View File

@ -171,30 +171,7 @@ protocol version::
Static boot order configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some hardware is known to misbehave when changing the boot device through the
IPMI protocol. To work around it you can use the ``noop`` management interface
implementation with the ``ipmi`` hardware type. In this case the Bare Metal
service will not change the boot device for you, leaving the pre-configured
boot order.
For example, in case of the :ref:`pxe-boot`:
#. Via any available means configure the boot order on the node as follows:
#. Boot from PXE/iPXE on the provisioning NIC.
.. warning::
If it is not possible to limit network boot to only provisioning NIC,
make sure that no other DHCP/PXE servers are accessible by the node.
#. Boot from hard drive.
#. Make sure the ``noop`` management interface is enabled, see example in
`Enabling the IPMI hardware type`_.
#. Change the node to use the ``noop`` management interface::
openstack baremetal node set <NODE> --management-interface noop
See :ref:`static-boot-order`.
.. TODO(lucasagomes): Write about privilege level
.. TODO(lucasagomes): Write about force boot device

View File

@ -17,6 +17,7 @@ from ironic.drivers import generic
from ironic.drivers.modules import inspector
from ironic.drivers.modules import ipxe
from ironic.drivers.modules import noop
from ironic.drivers.modules import noop_mgmt
from ironic.drivers.modules import pxe
from ironic.drivers.modules.redfish import bios as redfish_bios
from ironic.drivers.modules.redfish import boot as redfish_boot
@ -36,7 +37,7 @@ class RedfishHardware(generic.GenericHardware):
@property
def supported_management_interfaces(self):
"""List of supported management interfaces."""
return [redfish_mgmt.RedfishManagement]
return [redfish_mgmt.RedfishManagement, noop_mgmt.NoopManagement]
@property
def supported_power_interfaces(self):

View File

@ -0,0 +1,6 @@
---
fixes:
- |
To provide a workaround for incorrect boot order problems on some hardware,
the ``redfish`` hardware type now supports the ``noop`` management
interface, similarly to IPMI and SNMP.