Add the noop management interface to the redfish hardware type
Apparently, we're hitting similar problems on some hardware that caused us to add noop to ipmi. Maybe we should make it supported on all hardware types, but right now it would break iLO. To reduce the scope of this (hopefully backportable) patch, I'm limiting it to Redfish. Change-Id: Ia44e5d83a7b2ce660be4822e7908dd75908ccbdd Story: #2007713 Task: #39849
This commit is contained in:
parent
fa3c224022
commit
51eff6010f
@ -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
|
||||
-------------------
|
||||
|
||||
|
@ -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
|
||||
|
@ -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):
|
||||
|
@ -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.
|
Loading…
Reference in New Issue
Block a user