ironic-python-agent 7.1.0 (wallaby)
We are stoked to announce the release of: ironic-python-agent 7.1.0: Ironic Python Agent Ramdisk This release is part of the wallaby stable release series. The source is available from: https://opendev.org/openstack/ironic-python-agent Download the package from: https://tarballs.openstack.org/ironic-python-agent/ Please report issues through: https://storyboard.openstack.org/#!/project/openstack/ironic- python-agent For more details, please see below. 7.1.0 ^^^^^ Bug Fixes ********* * 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. * 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 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 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 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 an issue when the EFI partition UUID is not set and an attempt to edit /etc/fstab is made. * 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 (https://storyboard.openstack.org/#!/story/2009881). * 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 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 agent will now attempt to collect any multipath path information and upload it to the agent ramdisk, if the tooling is present. Changes in ironic-python-agent 7.0.2..7.1.0 ------------------------------------------- 0f0ac47 Use utf-16-le if BOM not present f080f70 CI: Zuul no longer respects queue param 6ea49af Fix software raid output poisoning 3bf414e Gather details about bond interfaces if present 5e85e5e Fix discovering WWN/serial for devicemapper devices 668cd21 Multipath Hardware path handling 8fafc57 Catch ismount not being handled 83a6274 Ignore efi grub2-install failure 12e0369 Do not try to guess EFI partition path by its number 881015a Create fstab entry with appropriate label 09d06b0 Make the standalone job voting again cafa6e9 Fix UEFI record regex 56e63ce Re-read the partition table with partx -a, part 2 ab3e8a7 Re-read the partition table with partx -a 8fca145 Delete EFI boot entry duplicate labels first 9753b61 Output verbose info from efibootmgr 434a739 Assert EFI part UUID is not None before editing fstab 60a5125 Software RAID: Call udev_settle before creation Diffstat (except docs and test files) ------------------------------------- ironic_python_agent/extensions/image.py | 261 +++++--- ironic_python_agent/hardware.py | 198 +++++- ironic_python_agent/utils.py | 1 + .../notes/correct-uefi-regex-112211c2427cd4d9.yaml | 7 + .../de-duplicate-by-label-baa090c5b1bff992.yaml | 6 + .../notes/detect-endianness-f53a6c4571aba3fe.yaml | 6 + .../notes/efi-partuuid-5fe933a462eeede1.yaml | 5 + releasenotes/notes/findbonds-733c7c91a5665b05.yaml | 5 + ...x-nvme-software-raid-race-2e0e104de9611228.yaml | 7 + .../notes/fix-rescan-device-7b00c6836b687ce8.yaml | 5 + .../fix-rescan-device-raid-29aa1558b036b496.yaml | 7 + ...x-softraid-name-poisoning-4e934dd4e60830b1.yaml | 7 + .../notes/fix_efi_uuid_fstab-f2edbee9bfbac64a.yaml | 6 + ...handle-partuuid-for-fstab-e0aadea20a056982.yaml | 10 + .../ignore-grub-efi-fail-dcf7eb07f61f4388.yaml | 10 + .../notes/multipath-handling-00a5b412d2cf2e4e.yaml | 18 + .../notes/multipath-serial-615fc925984abbf7.yaml | 4 + zuul.d/ironic-python-agent-jobs.yaml | 1 + zuul.d/project.yaml | 10 +- 24 files changed, 1574 insertions(+), 276 deletions(-)
participants (1)
-
no-reply@openstack.org