Change boot_interface order of iRMC driver

This change aligns the boot interface order of the irmc
hardware type to match the other hardware type interface
order lists.

This change is a result of an operator reporting inconsistent
behavior of ironic when they are adding nodes using the irmc
hardware type, where they would default to use the "irmc-pxe" boot
interface, where as the other interfaces would end up defaulting
to "ipxe".

Change-Id: I017c6560f9de884eefb2c1925321380cc1c721e2
This commit is contained in:
Vanou Ishii 2022-10-25 04:09:46 -04:00
parent d930dcd322
commit 2200f931de
2 changed files with 28 additions and 2 deletions

View File

@ -48,8 +48,8 @@ class IRMCHardware(generic.GenericHardware):
"""List of supported boot interfaces."""
# NOTE: Support for pxe boot is deprecated, and will be
# removed from the list in the future.
return [boot.IRMCVirtualMediaBoot, boot.IRMCPXEBoot,
ipxe.iPXEBoot, pxe.PXEBoot]
return [boot.IRMCVirtualMediaBoot, ipxe.iPXEBoot,
boot.IRMCPXEBoot, pxe.PXEBoot]
@property
def supported_console_interfaces(self):

View File

@ -0,0 +1,26 @@
---
fixes:
- |
Fixes the default boot interface order for the ``irmc`` hardware type
where previously it would prefer ``irmc-pxe`` over ``ipxe``. This
created inconsistencies for operators using multiple hardware types,
where both interfaces were enabled in the deployment.
upgrade:
- |
Operators who are upgrading should be aware that a bug was discovered
with the automatic selection of ``boot_interface`` for users of the
``irmc`` hardware types. This was an inconsistency, resulting in
``irmc-pxe`` being selected instead of ``ipxe`` if these boot
interfaces were enabled. Depending on the local configuration,
this may, or may not have happened and will remain static on
preexisting baremetal nodes. Some users may have been relying upon
this incorrect behavior by having mis-alligned defaults by trying to
use the ``irmc-pxe`` interface for ``ipxe``. Users wishing to continue
this usage as it was previously will need to explicitly set a
``boot_interface`` value to either ``pxe`` or ``irmc-pxe``, depending
on the local configuration. Most operators have leveraged the default
examples, and thus did not explicitly encounter this condition.
Operators explicitly wishing to use ``pxe`` boot interfaces with
the ``ipxe`` templates and defaults set to override the defaults
for ``ironic.conf`` will need to either continue to leverage default
override configurations in their ``ironic.conf`` file.