Xena Series (8.0.0 - 8.2.x) Release Notes¶
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.
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 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.
Use efibootmgr instead of grub2-install for software RAID. This fixes an issue with images which include newer versions of grub2-install as they refuse bootloader installations in UEFI boot mode due to the lack of secure boot support.
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
multipathdutility to be present in the ramdisk. These are supplied by the
multipath-toolspackages, 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.
Adds device rescan operation after partitioning the root device to ensure that updated UUIDs are reflected correctly
The ramdisk logs now contain an
lsblkoutput with all pairs in the new
The agent will now attempt to collect any multipath path information and upload it to the agent ramdisk, if the tooling is present.
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-timeoutoption 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 a incorrect call to have the partition table re-read.
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.
The introspection now includes the MAC address of the IPMI LAN channel which has a valid IP address and MAC address assigned in the hardware inventory data as
Adds a burn-in cleaning step ‘burnin_disk’ to stress test disks for a configurable number of iterations or a configurable amount of time with fio. To use this step, stress-ng needs to be installed on the RAM disk.
Adds a burn-in cleaning step ‘burnin_network’ to stress test the network interface for a configurable amount of time with fio. To use this step, fio needs to be installed on the RAM disk.
Heartbeats to the conductor are grouped when they are scheduled or requested within a time interval of five seconds to avoid sending them in quick succession.
Adds the capability into the agent to read and act upon bootloader CSV files which serve as authoritative indicators of what bootloader to load instead of leaning towards utilizing the default.
If multiple bootloader CSV files are present on the EFI filesystem, the first CSV file discovered will be utilized. The Ironic team considers multiple files to be a defect in the image being deployed. This may be changed in the future.
Fixes an issue with bootloader installation on a software RAID by checking if the ESP is already mounted.
Fixes an issue where a quick succession of heartbeats exposes a race condition in the conductor’s RPC handling.
Fixes an issue where the NTP time sync at the IPA startup via chronyd is not immediate (which can break time sensitive components such as the generation of a TLS certificate).
Recent releases of redhat grub2 will always fail when installing to EFI paths, to encourage a transition to the signed shim bootloader. Partition image deploys avoid calling grub2-install with the preserve-efi-assets functions. Deploying whole disk images doesn’t require grub2-install. This leaves whole disk images installed onto softraid devices, which still calls grub2-install. Running grub2-install is still attempted in this one remaining case, but any failures are now ignored.
Fixes nodes failing after deployment completes due to issues in the Grub2 EFI loader entry addition where a
BOOT.CSVfile provides the authoritative pointer to the bootloader to be used for booting the OS. The base issue with Grub2 is that it would update the UEFI bootloader NVRAM entries with whatever is present in a vendor specific
BOOTX64.CSVfile. In some cases, a baremetal machine can crash when this occurs. More information can be found at story 2008962.
Adds a burn-in cleaning step ‘burnin_cpu’ to stress test CPUs for a configurable amount of time with stress-ng. To use this step, stress-ng needs to be installed on the RAM disk.
Adds a burn-in cleaning step ‘burnin_memory’ to stress test memory for a configurable amount of time with stress-ng. To use this step, stress-ng needs to be installed on the RAM disk.
Removes support for the
iscsideploy interface. Please use a ramdisk from the Wallaby cycle if you need it.
Fixes initial logging before configuration is loaded to re-log anything recorded for the purposes of troubleshooting. This is necessary as systemd does not report stdout from a process launch as part of the process’s logging. Now messages will be re-logged once the configuration has been loaded.
The command params no longer appear in the command results. See story 2008904 for details.
Fixes fall-back to sysrq when powering off or rebooting the node from inside a container.
Fixes an error with UEFI based deployments where using a partition image a NVMe device was previously failing due to the different device name pattern.
Fixes failures with disk image conversions which result in memory allocation or input/output errors due to memory limitations by limiting the number of available memory allocation pools to a non-dynamic reasonable number which should not exceed the available system memory.
The lshw package version B.02.19.2-5 on CentOS 8.4 and 8.5 contains a bug that prevents the size of individual memory banks from being reported, with the result that the total memory size would be reported as 0 in some places. The total memory size is now taken from lshw’s total memory size output (which does not suffer from the same problem) when available.
No longer crashes if MAC address cannot be determined for one of the network interfaces.
Permits out-of-order writes when converting whole disk images to improve performance.
Mirrors the previously disconnected EFI system partitions (ESPs) in UEFI software RAID setups. Disconnected ESPs can lead to nodes booting with outdated kernel parameters or the UEFI firmware not finding bootable kernels at all.
Adds a call to “udevadm settle” in write_image.sh. After GPT and MBR are destroyed systemd-udevd gets triggered which may hold /dev/sda open preventing qemu-img from writing its image.
The API call
prepare_imageand the deploy step
write_imagewill now expect configdrive to be passed as an explicit argument rather than through