Current Series Release Notes

21.2.0-30

New Features

  • Adds API version 1.81 which enables fetching node inventory which might have been stored during introspection

  • Adds verify step and node vendor passthru method to deal with a firmware incompatibility issue with iRMC versions S6 2.00 and later in which HTTP connection to REST API is not supported and HTTPS connections to REST API is required.

    Verify step checks connection to iRMC REST API and if connection succeeds, it fetches version of iRMC firmware and store it in driver_internal_info/irmc_fw_version. Ironic operators use node vendor passthru method to fetch & update iRMC firmware version cached in driver_internal_info/irmc_fw_version.

Upgrade Notes

  • Since iRMC versions S6 2.00 and later, iRMC firmware doesn’t support HTTP connection to REST API. Operators need to set [irmc] port in ironic.conf or driver_info/irmc_port to 443.

  • When Ironic operator uses irmc driver against Fujitsu server which runs iRMC version S6 2.00 or later, operator may need to set Redfish parameters in driver_info so this fix can operate properly or operator should enable IPMI over LAN through BMC settings, if possible.

Bug Fixes

  • Fixes an issue where if selinux is enabled and enforcing, and the published image is a hardlink, the source selinux context is preserved, causing access denied when retrieving the image using hardlink URL.

  • Fixes the default value for the [DEFAULT]grub_config_path variable to be the default path for UEFI bootloader configurations, where as the default was previously the BIOS grub2 configuration path.

  • Fixes a firmware incompatibility issue with iRMC versions S6 2.00 and later now doesn’t support IPMI over LAN by default. To deal with this problem, irmc driver first tries IPMI operation then, if IPMI operation fails, it tries Redfish API of Fujitsu server. The operator must set Redfish parameters in the driver_info if iRMC disable or doesn’t support IPMI over LAN.

  • Fixes 'NoneType' object is not iterable in conductor logs for redfish and idrac-redfish RAID clean and deploy steps. The message should no longer appear. For affected nodes re-create the node or delete raid_configs entry from driver_internal_info field.

21.2.0

Upgrade Notes

  • Adds an upgrade status check for the Allocation table engine and character set encoding on MySQL. This is a result of a missing encoding definition on the table schema when originally created. This issue will be remedied, in part, in a later version of Ironic, but the upgrade status check will provide advance operator visibility.

  • This upgrade updates the default character set to utilized in the database tables when using MySQL/MariaDB. Previously, the default for Ironic was UTF8, however we now explicitly set UTF8MB3 which is short for “3 byte UTF8” encoding. The exception to this is the allocations table, which would just rely upon the database default. This was done as Ironic’s database schema is incompatible with MySQL/MariaDB’s UTF8MB4, or “4 byte UTF8” character encoding and storage constraints.

  • Upgrading will change the default chracter encoding of all tables. For most tables, this should be an effective noop, but may result in transitory table locks. For the allocations table, it will need to be re-written, during which the database engine will have locked the table from being used. Operators are advised to perform test upgrades and set expectation and upgrade plans accordingly.

  • Adds sha256, sha384 and sha512 as supported SNMPv3 authentication protocols to iRMC driver.

  • 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.

  • Ironic has started the process of upgrading the code base to support SQLAlchemy 2.0 in anticipation of it’s release. This results in the minimum version of SQLAlchemy becoming 1.4.0 as it contains migration features for the move to SQLAlchemy 2.0.

Bug Fixes

  • Fixes an missing MySQL/MariaDB character set configuration and default table type encoding for the allocations database table. Previously, If Ironic’s database was attempted to be populated on a machine which was using 4 byte character encoding, such as MySQL/MariaDB on Debian based systems, then the database schema creation would fail.

  • Fixes an issue where unexpected exceptions coming from the process to start cleaning would not trigger the cleaning_error_handler which performs the needful internal resets to permit cleaning to be retried again in the future. Now any error which is encountered during the launch of cleaning will trigger the error handler.

  • Fixes the URL based anaconda deployment for parsing the given image_source url.

  • Fixes URL based anaconda deploy to work in pxe boot. It also enables grub based pxe anaconda deploy which is required for ilo hardware type.

  • Modify iRMC driver to use ironic.conf [deploy] default_boot_mode to determine default boot_mode.

  • 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.