Merge "Add the noop management interface to the redfish hardware type"
This commit is contained in:
commit
c358dac03d
@ -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
|
.. note:: This feature is available starting with ironic 11.1.0 (Rocky
|
||||||
series, API version 1.45).
|
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
|
Unsupported drivers
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@ -171,30 +171,7 @@ protocol version::
|
|||||||
Static boot order configuration
|
Static boot order configuration
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Some hardware is known to misbehave when changing the boot device through the
|
See :ref:`static-boot-order`.
|
||||||
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
|
|
||||||
|
|
||||||
.. TODO(lucasagomes): Write about privilege level
|
.. TODO(lucasagomes): Write about privilege level
|
||||||
.. TODO(lucasagomes): Write about force boot device
|
.. 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 inspector
|
||||||
from ironic.drivers.modules import ipxe
|
from ironic.drivers.modules import ipxe
|
||||||
from ironic.drivers.modules import noop
|
from ironic.drivers.modules import noop
|
||||||
|
from ironic.drivers.modules import noop_mgmt
|
||||||
from ironic.drivers.modules import pxe
|
from ironic.drivers.modules import pxe
|
||||||
from ironic.drivers.modules.redfish import bios as redfish_bios
|
from ironic.drivers.modules.redfish import bios as redfish_bios
|
||||||
from ironic.drivers.modules.redfish import boot as redfish_boot
|
from ironic.drivers.modules.redfish import boot as redfish_boot
|
||||||
@ -36,7 +37,7 @@ class RedfishHardware(generic.GenericHardware):
|
|||||||
@property
|
@property
|
||||||
def supported_management_interfaces(self):
|
def supported_management_interfaces(self):
|
||||||
"""List of supported management interfaces."""
|
"""List of supported management interfaces."""
|
||||||
return [redfish_mgmt.RedfishManagement]
|
return [redfish_mgmt.RedfishManagement, noop_mgmt.NoopManagement]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def supported_power_interfaces(self):
|
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…
x
Reference in New Issue
Block a user