Yoga Series (8.3.0 - 8.5.x) Release Notes


Bug Fixes

  • Fixes, or at least lessens the case where a running Ironic agent can stack up numerous lookup requests against an Ironic deployment when a node is locked. In particular, this is beause the lookup also drives generation of the agent token, which requires the conductor to allocate a worker, and generate the token, and return the result to the API client. Ironic’s retry logic will now wait up to 60 seconds, and if an HTTP Conflict (409) message is received, the agent will automatically pause lookup operations for thirty seconds as opposed continue to attempt lookups which could create more work for the Ironic deployment needlessly.


Bug Fixes

  • Fixes UEFI NVRAM record handling with efibootmgr so we can accept and handle UTF-16 encoded data which is to be expected in UEFI NVRAM as the records are UTF-16 encoded.

  • Fixes handling of UEFI NVRAM records to allow for unexpected characters in the response, so it is non-fatal to Ironic.


Known Issues

  • Creating a configdrive partition on a devicemapper device (e.g. a multipath storage device) with MBR partitioning may fail with the following error:

    Command execution failed: Failed to create config drive on disk /dev/dm-0
    for node 168af30d-0fad-4d67-af99-b28b3238e977. Error: Unexpected error
    while running command.

    Use GPT partitioning instead.

Bug Fixes

  • Fixes creating a configdrive partition on a devicemapper device (e.g. a multipath storage device) with GPT partitioning. The newly created partition is now detected by a pre-generated UUID rather than by comparing partition numbers.

  • Fixes configuring UEFI boot when the EFI partition is located on a devicemapper device.

  • Fixes GenericHardwareManager to find network information for bonded interfaces if they exist.

  • Fixes handling of Software RAID device discovery so RAID device Names and Events field values do not inadvertently cause the command to return unexpected output. Previously this could cause a deployment to when handling UEFI partitions.

  • Fixes failures with handling of Multipath IO devices where Active/Passive storage arrays are in use. Previously, “standby” paths could result in IO errors causing cleaning to terminate. The agent now explicitly attempts to handle and account for multipaths based upon the MPIO data available. This requires the multipath and multipathd utility to be present in the ramdisk. These are supplied by the device-mapper-multipath or multipath-tools packages, and are not requried for the agent’s use.

  • Fixes non-ideal behavior when performing cleaning where Active/Active MPIO devices would ultimately be cleaned once per IO path, instead of once per backend device.

  • Fixes discovering WWN/serial numbers for devicemapper devices.

Other Notes

  • The ramdisk logs now contain an lsblk output with all pairs in the new lsblk-full file.

  • The agent will now attempt to collect any multipath path information and upload it to the agent ramdisk, if the tooling is present.


New Features

  • Adds support for express cleaning mode where hardware-assisted, fast and secure data erasure is performed on NVMe devices that support it, while other devices fall back to erase_devices_metadata. The goal of this feature is to enable express node cleaning in environments with hybrid storage configuration (e.g. NVMe + HDD).

Bug Fixes

  • In case the CSV file used for the bootloader hint does not have BOM we fail reading its content as utf-16 codec is too generic. Fail over to utf-16-le as Little Endian is mostly used.

  • Fixes handling of a Partition UUID being returned instead of a Partition’s UUID when the OS may not return the Partition’s UUID in time. These two fields are typically referred to as PARTUUID and UUID, respectively. Often these sorts of issues arise under heavy IO load. We now scan, and identify which “UUID” we identified, and update a Linux fstab entry appropriately. For more information, please see story #2009881.

  • Adds device rescan operation after partitioning the root device to ensure that updated UUIDs are reflected correctly


New Features

  • For network burn-in, nodes can now be paired dynamically via a distributed coordination backend (as an alternative to a static configuration). This allows burn-in to proceed on a “first come first served” basis with the nodes available, rather than a node being blocked since the static partner is currently delayed.

    In order to configure this dynamic pairing, the nodes will need at least agent_burnin_fio_network_pairing_backend_url in their driver_info (the URL for the coordination backend). In order to separate different hardware types, which may be using different networks and shall be burnt-in separately, the nodes can in addition define agent_burnin_fio_network_pairing_group_name to have pairing only happening between nodes in the same group. An additional parameter agent_burnin_fio_network_pairing_timeout allows to limit the time given to the nodes to wait for a partner.

Bug Fixes

  • Uses efibootmgr instead of grub2-install for software RAID. This fixes an issue with images which include newer versions of grub2-install, such as CentOS Stream 8, as they refuse bootloader installations in UEFI boot mode due to the lack of secure boot support.


New Features

  • Add options to have named output files for the burn-in logging: {‘agent_burnin_cpu’, ‘agent_burnin_vm’, ‘agent_burnin_fio_network’, ‘agent_burnin_fio_disk’}_outputfile. This should ease collecting the output of the burn-in steps for analysis.

  • Add ‘agent_burnin_fio_disk_smart_test’ option in driver-info for disk burn-in. If set to True, this option will launch a parallel SMART self test on all devices after the disk burn-in and fail the disk burn-in clean step if any of the tests fail.

Bug Fixes

  • No longer ignores global TLS configuration options (ipa-insecure, etc) when downloading a configdrive via a URL.

  • No longer ignores error status codes from the server when downloading a configdrive via a URL.

  • The configdrive downloading code now respects the ipa-image-download-connection-timeout option and will no longer hang for a long time if the server does not respond.

  • Fixes a minor issue with the regular expression used for UEFI duplicate entry cleanup which was introduced in a prior change to refactor the cleanup operation to avoid UEFI firmware which treats deletion of entries after addition as an invalid operation.

  • Fixes cases where duplicates may not be found in the UEFI firmware NVRAM boot entry table by explicitly looking for, and deleting for matching labels in advance of creating the EFI boot loader entry.

  • Fixes a race on software RAID creation: since the creation of partitions is asynchronous, we need to wait for all udev events to be processed before we can use the partitions to create an md device.

  • Fixes an issue where partitions are not visible due to an incorrect call when re-reading the partition table during a device rescan.

  • Fixes an issue where partitions are not visible due to an incorrect call to have the partition table re-read during raid configuration creation.

  • Fixes an issue when the EFI partition UUID is not set and an attempt to edit /etc/fstab is made.

  • The configured log file and/or log directory is now always explicitly included in the ramdisk logs.

  • IPA instructs qemu-img to write image zeros to disk. Doing this will cause it not to zero out the entire block device which can be very costly on a slow HDD.