We are pumped to announce the release of: ironic-python-agent 8.3.0: Ironic Python Agent Ramdisk This release is part of the yoga 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.3.0 ^^^^^ New Features ************ * Add options to have named output files for the burn-in logging: {'agent_burnin_cpu', 'agent_burnin_vm', 'agent_burnin_fio_network', 'agent_burnin_fio_disk'}_outputfile. This should ease collecting the output of the burn-in steps for analysis. * Add 'agent_burnin_fio_disk_smart_test' option in driver-info for disk burn-in. If set to True, this option will launch a parallel SMART self test on all devices after the disk burn-in and fail the disk burn-in clean step if any of the tests fail. Bug Fixes ********* * No longer ignores global TLS configuration options ("ipa- insecure", etc) when downloading a configdrive via a URL. * No longer ignores error status codes from the server when downloading a configdrive via a URL. * The configdrive downloading code now respects the "ipa-image- download-connection-timeout" option and will no longer hang for a long time if the server does not respond. * 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. * 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 an incorrect call when re-reading the partition table during a device rescan. * 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 an issue when the EFI partition UUID is not set and an attempt to edit /etc/fstab is made. * The configured log file and/or log directory is now always explicitly included in the ramdisk logs. * IPA instructs qemu-img to write image zeros to disk. Doing this will cause it not to zero out the entire block device which can be very costly on a slow HDD. Changes in ironic-python-agent 8.2.0..8.3.0 ------------------------------------------- e751218 Burn-in: Add options for named log files 12f5f30 Instruct qemu-img to write image zeros to disk. 9b82794 Prepare for bugfix release a35c77e [trivial] Fix Xena release notes versions c6b1cb1 Burn-in: Add SMART self test to disk burn-in c31835e Use only Yoga tests 87a42cc Test python 3.6 for distributions compatibility 4042e7b Get rid of lambda in RealFilePartitioningTestCase dda53b4 Updating yoga tested python versions in classifier 5cf61e7 Trivial: split away efibootmgr helpers abe38a6 Fix compatibility with disk_utils.find_efi_partition 89bc73a Use two more functions from disk_utils 7b03fbb Call execute from ironic-lib in hardware.py 36d4a18 Move manage_uefi from the image extension to a public location ce296a4 Remove metalsmith centos7 job a799dcc Move rescan device function to general utils c5fb191 Simplify error messages when running clean/deploy step 23e67b5 Re-read the partition table with partx -a, part 2 dc8c1f1 Re-read the partition table with partx -a c5268bb Fix UEFI record regex 67eddfa Delete EFI boot entry duplicate labels first 2cedaa5 Always include the oslo_log log file in ramdisk logs b360214 Stop requiring mocking of utils.execute if ironic-lib execute is mocked 9a8c6a8 Fix error messages in burnin code 8a66978 Respect global parameters when downloading a configdrive 333ed70 Assert EFI part UUID is not None before editing fstab 9d707e9 Software RAID: Call udev_settle before creation 8d901ff Add Python3 yoga unit tests 1665abc Update master for stable/xena Diffstat (except docs and test files) ------------------------------------- ironic_python_agent/burnin.py | 138 ++++- ironic_python_agent/efi_utils.py | 277 ++++++++++ ironic_python_agent/extensions/clean.py | 10 +- ironic_python_agent/extensions/deploy.py | 10 +- ironic_python_agent/extensions/image.py | 342 +----------- ironic_python_agent/extensions/standby.py | 5 +- ironic_python_agent/hardware.py | 129 +++-- ironic_python_agent/partition_utils.py | 113 +++- ironic_python_agent/utils.py | 67 +-- lower-constraints.txt | 4 +- ...-named-logfiles-to-burnin-4388309bf7442d53.yaml | 7 + ...smart-test-to-disk-burnin-d02d31e23e5efa9a.yaml | 7 + .../notes/configdrive-ssl-02b069948dfef814.yaml | 12 + .../notes/correct-uefi-regex-112211c2427cd4d9.yaml | 7 + .../de-duplicate-by-label-baa090c5b1bff992.yaml | 6 + ...x-nvme-software-raid-race-2e0e104de9611228.yaml | 7 + .../notes/fix-rescan-device-7b00c6836b687ce8.yaml | 5 + .../fix-rescan-device-raid-29aa1558b036b496.yaml | 7 + .../notes/fix_efi_uuid_fstab-f2edbee9bfbac64a.yaml | 6 + releasenotes/notes/log-file-7aaaf31693ddc617.yaml | 5 + .../notes/qemu-write-zeros-2edbf3152c57e2b6.yaml | 6 + releasenotes/source/index.rst | 1 + releasenotes/source/xena.rst | 6 + requirements.txt | 4 +- setup.cfg | 3 +- zuul.d/ironic-python-agent-jobs.yaml | 13 - zuul.d/project.yaml | 8 +- 39 files changed, 1923 insertions(+), 1326 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 69d886c..cadb5c3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13 +13 @@ oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 -oslo.utils>=3.33.0 # Apache-2.0 +oslo.utils>=3.34.0 # Apache-2.0 @@ -20 +20 @@ tenacity>=6.2.0 # Apache-2.0 -ironic-lib>=4.7.1 # Apache-2.0 +ironic-lib>=5.1.0 # Apache-2.0