--- fixes: - | Fixes issues when ``UEFI`` boot mode has been requested with persistent boot to ``DISK`` where some versions of ``ipmitool`` do not properly handle multiple options being set at the same time. While some of this logic was addressed in upstream `ipmitool `_ development, new versions are not released and vendors maintain downstream forks of the ipmitool utility. When considering vendor specific `selector differences `_ along with the current stance of new versions from the upstream ``ipmitool`` community, it only made sense to handle this logic with-in Ironic. In part this was because if already set the selector value would not be updated. Now ironic always transmits the selector value for ``UEFI``. - Fixes handling of Supermicro ``UEFI`` supporting BMCs with the ``ipmi`` hardware type such that an appropriate boot device selector value is sent to the remote BMC to indicate boot from local storage. This is available for both persistent and one-time boot applications. For more information, please consult `story 2008241 `_. - Fixes handling of the ``ipmi`` hardware type where ``UEFI`` boot mode and "one-time" boot to PXE has been requested. As Ironic now specifically transmits the raw commands, this setting should be properly applied where previously PXE boot operations may have previously occurred in ``Legacy BIOS`` mode. other: - Adds a ``detect_vendor`` management interface method to the ``ipmi`` hardware type. This method is being promoted as a higher level interface as the fundimental need to be able to have logic aware of the hardware vendor is necessary with vendor agnostic drivers where slight differences require slightly different behavior. upgrade: - An automated detection of a IPMI BMC hardware vendor has been added to appropriately handle IPMI BMC variations. Ironic will now query this and save this value if not already set in order to avoid querying for every single operation. Operators upgrading should expect an elongated first power state synchronization if for nodes with the ``ipmi`` hardware type.