[release-announce] ironic-python-agent 8.1.0 (xena)

no-reply at openstack.org no-reply at openstack.org
Thu Jul 22 10:48:09 UTC 2021


We are excited to announce the release of:

ironic-python-agent 8.1.0: Ironic Python Agent Ramdisk

This release is part of the xena 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.

8.1.0
^^^^^


New Features
************

* 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.


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
*********

* 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.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).

Changes in ironic-python-agent 8.0.0..8.1.0
-------------------------------------------

5531d5c Force immediate NTP time sync with chronyd at IPA startup
cacdd9b Burn-in: Add network step
e5d5524 Catch ismount not being handled
2756820 Only mount the ESP if not yet mounted
b605943 Coalesce heartbeats
2fcf35e Reduce logging verbosity when collecting logs
5473700 Remove lower-constraints job
2fab70c Utilize CSV file for EFI loader selection
a057be7 Ignore efi grub2-install failure
e27cdb3 Changed minversion in tox to 3.18.0
33d889c Refactor: use convert_image from ironic_lib
20c5894 Burn-in: Add disk step


Diffstat (except docs and test files)
-------------------------------------

ironic_python_agent/agent.py                       |  21 +-
ironic_python_agent/burnin.py                      | 111 ++++++++++
ironic_python_agent/extensions/image.py            | 152 ++++++++++----
ironic_python_agent/extensions/standby.py          |  17 +-
ironic_python_agent/hardware.py                    |  30 +++
ironic_python_agent/utils.py                       |  23 +-
.../notes/add_burnin_disk-12adb5735a41af47.yaml    |   6 +
.../notes/add_burnin_network-4856153d21c25f4a.yaml |   6 +
.../check-if-ESP-is-mounted-f9e0eff3609c2668.yaml  |   7 +
.../coalesce_heartbeats-fb8899a5f9fe4709.yaml      |  10 +
.../fix_chronyd_time_sync-626a14b66ca37677.yaml    |   6 +
.../ignore-grub-efi-fail-dcf7eb07f61f4388.yaml     |  10 +
...t-bootloader-csv-file-use-c815b520c600cd98.yaml |  22 ++
requirements.txt                                   |   2 +-
tox.ini                                            |  15 +-
22 files changed, 773 insertions(+), 152 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index a08384d..69d886c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -20 +20 @@ tenacity>=6.2.0 # Apache-2.0
-ironic-lib>=4.5.0 # Apache-2.0
+ironic-lib>=4.7.1 # Apache-2.0






More information about the Release-announce mailing list