We are amped to announce the release of: ironic-python-agent 8.0.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.0.0 ^^^^^ New Features ************ * 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. Upgrade Notes ************* * Removes support for the "iscsi" deploy interface. Please use a ramdisk from the Wallaby cycle if you need it. Bug Fixes ********* * 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 (https://storyboard.openstack.org/#!/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 (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. * 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. Other Notes *********** * The API call "prepare_image" and the deploy step "write_image" will now expect configdrive to be passed as an explicit argument rather than through "image_info". Changes in ironic-python-agent 7.0.0..8.0.0 ------------------------------------------- 031b5c4 Clean-up releasenotes for 8.0.0 release f657526 Stop accepting duplicated configdrive 9e4c705 Limit qemu-img execution arenas 10d18c4 Make _get_efi_bootloaders return relative paths 606e500 Rewrite write_image.sh in Python d1844c6 Enable out-of-order writes when writing whole disk images 51aa310 Do not serialize command_params 5492f57 Migrate functional tests for work_on_disk from ironic-lib be38821 Remove the iscsi extension fe825fa Fix NVMe Partition image on UEFI 353a366 setup.cfg: Replace dashes with underscores 24951b1 Import deployment logic from ironic-lib 5c22256 Burn-in: Add memory step 6702fca Burn-in: Add CPU step 764e297 Stop testing the iscsi deploy interface ed791d9 Fix getting memory size in some lshw output b510d2d unit tests: Capture log output c56cd4a Fix missing data in log messages 3251d7b Remove runtime dependency on pbr 2057d86 [trivial] Add versions to wallaby release notes 9c3fbfd Add a call to "udevadm settle" in write_image.sh c2d04dc Software RAID: RAID the ESPs b395181 Always fall back to sysrq when power off fails 1ab405b Do not fail network interface collection on unsupported interface df41898 Capture the early logging fcb65ca Add Python3 xena unit tests f6ab330 Update master for stable/wallaby Diffstat (except docs and test files) ------------------------------------- bindep.txt | 1 + ironic_python_agent/agent.py | 1 - ironic_python_agent/burnin.py | 80 ++ ironic_python_agent/cmd/agent.py | 2 +- ironic_python_agent/errors.py | 19 - ironic_python_agent/extensions/base.py | 2 +- ironic_python_agent/extensions/image.py | 212 ++-- ironic_python_agent/extensions/iscsi.py | 221 ---- ironic_python_agent/extensions/standby.py | 137 ++- ironic_python_agent/hardware.py | 60 +- ironic_python_agent/ironic_api_client.py | 2 +- ironic_python_agent/partition_utils.py | 471 ++++++++ ironic_python_agent/shell/write_image.sh | 54 - ironic_python_agent/utils.py | 13 +- ironic_python_agent/version.py | 9 +- .../notes/add_burnin_cpu-9acbb36048246a6b.yaml | 7 + .../notes/add_burnin_memory-4099ca42bd3b99db.yaml | 7 + .../capture-early-logging-0f3fa58d75656117.yaml | 8 + .../notes/command_params-869fa547b5be2236.yaml | 5 + .../notes/configdrive-dup-3fc46a878fe82485.yaml | 6 + .../notes/container-poweroff-d9ffb637cf1cee6c.yaml | 5 + ...-partition-image-handling-b8487133a188fd32.yaml | 6 + ...mit-qemu-img-malloc-arena-025ed84115481eae.yaml | 7 + .../lshw-no-memory-bank-size-05ea71987362986e.yaml | 9 + releasenotes/notes/no-iscsi-fd21808edbea5ac2.yaml | 5 + releasenotes/notes/no-mac-54616606ee6b844d.yaml | 5 + .../notes/qemu-img-ooo-write-721b8a0057ab7b8a.yaml | 5 + .../software-raid-raid-ESPs-25a2aa117b99620a.yaml | 7 + .../notes/udevadm-settle-9d3e5f1f20211857.yaml | 7 + releasenotes/source/index.rst | 1 + releasenotes/source/wallaby.rst | 6 + requirements.txt | 2 +- setup.cfg | 9 +- tox.ini | 1 + zuul.d/ironic-python-agent-jobs.yaml | 37 +- zuul.d/project.yaml | 4 +- 47 files changed, 2565 insertions(+), 1075 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 9fefc99..a08384d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,0 +5 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 +importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0 @@ -17 +17,0 @@ requests>=2.14.2 # Apache-2.0 -rtslib-fb>=2.1.65 # Apache-2.0