ironic-python-agent 6.1.2 (ussuri)
We are pumped to announce the release of: ironic-python-agent 6.1.2: Ironic Python Agent Ramdisk This release is part of the ussuri 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. 6.1.2 ^^^^^ New Features ************ * Adds an configuration option which can be encoded into the ramdisk itself or the PXE parameters being provided to instruct the agent to ignore bootloader installation or configuration failures. This functionality is useful to work around well-intentioned hardware which is auto-populating all possible device into the UEFI nvram firmware in order to try and help ensure the machine boots. Except, this can also mean any explict configuration attempt will fail. Operators needing this bypass can use the "ipa-ignore-bootloader- failure" configuration option on the PXE command line or utilize the "ignore_bootloader_failure" option for the Ramdisk configuration. In a future version of ironic, this setting may be able to be overriden by ironic node level configuration. * 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. Known Issues ************ * 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. Bug Fixes ********* * Setting the new "ipa-ignore-bootloader-failure" config option prevents errors due to bootloader installation failure generated by automatic bootloader entries configuration from multiple attached devices. * The system file system configuration file for Linux machines, the "/etc/fstab" file is now updated to include a reference to the EFI partition in the case of a partition image base deployment. Without this reference, images deployed using partition images could end up in situations where upgrading the bootloader could fail. * Fixes an issue where the bootloader installation can fail on a software RAID volume when no root_device hint is set. See Story 2007905 (https://storyboard.openstack.org/#!/story/2007905) * Fixes an issue with the IntelCnaHardwareManager which prevented hardware managers with lower priority to be executed and therefore may blocked the initialization and collection of hardware these managers are supposed to take care of. * 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 a bug where the partitions created during software RAID setup are cleaned too early and therefore may prevent the proper cleaning of the md superblocks. Leaving superblocks behind will impact the creation of new md devices later on. * Fixes retry logic issues with the Agent Lookup which can result in the lookup failing prematurely before being completed, typically resulting in an abrupt end to the agent logging and potentially weird errors like TypeError being reported on the agent process standard error output. For more information see bug 2007968 (https://storyboard.openstack.org/#!/story/2007968). * Detects md component devices by their UUID, rather than by scanning the output of mdadm. This will prevent that devices miss md superblock cleanup when they are currently not part of an array. * 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 (https://bugzilla.redhat.com/show_bug.cgi?id=1955250) 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. * Fixes the agent's EFI boot handling such that EFI assets from a partition image are preserved and used instead of overridden. This should permit operators to use Secure Boot with partition images IF the assets are already present in the partition image. * Since the Ussuri release, IPA has ignored the listen_host and listen_port directives. This fixes the behavior and restores those configuration values to working status. https://storyboard.openstack.org/#!/story/2008016 * Fixes nodes failing after deployment completes due to issues in the Grub2 EFI loader entry addition where a "BOOT.CSV" file 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 "BOOT.CSV" or "BOOTX64.CSV" file. In some cases, a baremetal machine *can* crash when this occurs. More information can be found at story 2008962 (https://storyboard.openstack.org/#!/story/2008962). * Increase memory usage limit for "qemu-img convert" command to 2 GiB. See Story 2008667 (https://storyboard.openstack.org/#!/story/2008667) for details. Changes in ironic-python-agent 6.1.1..6.1.2 ------------------------------------------- 746f65b Fix getting memory size in some lshw output e03d80d Add function to calculate memory 76d061e Reduce logging verbosity when collecting logs 8287b96 Utilize CSV file for EFI loader selection a4beb1b Make _get_efi_bootloaders return relative paths bc849e2 Limit qemu-img execution arenas d8c116a Increase the memory limit for qemu-img 6324b37 Fix NVMe Partition image on UEFI 7007ea0 Add fstab pointer to EFI partition 9783992 Prevent broken partition image UEFI deploys 8f77a01 Option to enable bootloader config failure bypass ca70841 More refactoring of the image module d59360f Mount all vfat partitions before calling grub2 d0f69e9 Refactor part of image module d8eefc9 Re-enable the ussuri tinyipa jobs 7f3a7e1 Prepare to use ussuri jobs from ipa-builder b9c9b0b Use UPPER_CONSTRAINTS_FILE to deal with ipa-builder 90b79c2 Pin version of ipa-builder when publishing image c23c107 Software RAID: Get component devices by md UUID 80b1492 Remove lower-constraints job 38e6c36 Log a warning of target_boot_mode does not match current boot mode 43fdcb3 Software RAID: Don't delete partitions too early 3c54867 Fix: make Intel CNA hardware manager none generic 3769174 CI: Lower memory usage of VMs/Increase swap 665219e Make WSGI server respect listen_* directives a6f96eb Increase memory for tinyipa jobs 0153622 Fix TypeError on agent lookup failure c78d6be Fix bootloader install issue with MDRAID Diffstat (except docs and test files) ------------------------------------- ironic_python_agent/api/app.py | 13 +- ironic_python_agent/config.py | 13 +- ironic_python_agent/extensions/image.py | 561 ++++++++-- ironic_python_agent/hardware.py | 156 ++- ironic_python_agent/hardware_managers/cna.py | 23 +- ironic_python_agent/ironic_api_client.py | 37 +- ironic_python_agent/shell/write_image.sh | 13 +- ironic_python_agent/utils.py | 3 +- ...all-failure-to-be-ignored-b99667b13afa9759.yaml | 21 + ...nd-efi-partition-to-fstab-e9f945a4dd19bd7a.yaml | 8 + ...oader-install-with-mdraid-0a254035df9d0bed.yaml | 7 + ...nx-hardware-mgr-never-run-72072580be4d6e7a.yaml | 7 + ...-partition-image-handling-b8487133a188fd32.yaml | 6 + .../fix_partition_cleanup-46491861c930db12.yaml | 6 + ...ixes-agent-lookup-retries-1b4bb90b8e783aca.yaml | 9 + ...get_md_components_by_uuid-7f08d423ea9e7c94.yaml | 6 + ...mit-qemu-img-malloc-arena-025ed84115481eae.yaml | 7 + .../lshw-no-memory-bank-size-05ea71987362986e.yaml | 9 + ...serve-efi-folder-contents-ea1e278b3093ec55.yaml | 7 + ...respect-listen-directives-94fb863c5b692c07.yaml | 7 + ...t-bootloader-csv-file-use-c815b520c600cd98.yaml | 22 + .../notes/up-qemuimg-mem-1536183a02b3a235.yaml | 7 + tox.ini | 2 +- zuul.d/ironic-python-agent-jobs.yaml | 12 +- zuul.d/project.yaml | 5 +- 30 files changed, 2255 insertions(+), 294 deletions(-)
participants (1)
-
no-reply@openstack.org