[release-announce] ironic-python-agent 6.1.2 (ussuri)

no-reply at openstack.org no-reply at openstack.org
Thu Jul 29 10:12:47 UTC 2021


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(-)







More information about the Release-announce mailing list