diff --git a/ironic/drivers/ilo.py b/ironic/drivers/ilo.py index 10676b4112..d8bbafb9ee 100644 --- a/ironic/drivers/ilo.py +++ b/ironic/drivers/ilo.py @@ -37,7 +37,7 @@ class IloHardware(generic.GenericHardware): @property def supported_boot_interfaces(self): """List of supported boot interfaces.""" - return [boot.IloVirtualMediaBoot, boot.IloPXEBoot, boot.IloiPXEBoot] + return [boot.IloVirtualMediaBoot, boot.IloiPXEBoot, boot.IloPXEBoot] @property def supported_bios_interfaces(self): diff --git a/releasenotes/notes/fix-ilo-boot-interface-order-238a2da9933cf28c.yaml b/releasenotes/notes/fix-ilo-boot-interface-order-238a2da9933cf28c.yaml new file mode 100644 index 0000000000..586ea6b825 --- /dev/null +++ b/releasenotes/notes/fix-ilo-boot-interface-order-238a2da9933cf28c.yaml @@ -0,0 +1,26 @@ +--- +fixes: + - | + Fixes the default boot interface order for the ``ilo`` hardware type + where previously it would prefer ``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 + ``ilo`` and ``ilo5`` hardware types. This was an inconsistency, + resulting in ``pxe`` being selected instead of ``ipxe`` if both + 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 misalligned defaults by trying + to use the ``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 ``ilo-ipxe`` by default, + 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.