We exuberantly announce the release of: ironic-python-agent 9.1.1: Ironic Python Agent Ramdisk This release is part of the zed 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. 9.1.1 ^^^^^ Bug Fixes * Fixes a failure case where a deployed instance may be unable to access the configuration drive post-deployment. This can occur when block devices only support 4KB IO interactions. When 4KB block IO sizes are in use, the ISO9660 filesystem driver in Linux cannot be used as it is modeled around a 2KB block. We now attempt to verify, and rebuild the configuration drive on a FAT filesystem when we cannot mount the supplied configuration drive. Operators can force the agent to write configuration drives using the FAT filesystem using the "[DEFAULT]config_drive_rebuild" option. * Fixes UEFI NVRAM record handling with efibootmgr so we can accept and handle UTF-16 encoded data which is to be expected in UEFI NVRAM as the records are UTF-16 encoded. * Fixes handling of UEFI NVRAM records to allow for unexpected characters in the response, so it is non-fatal to Ironic. * Fixes an issue with rebuilding instances on Software RAID with RAIDed ESP partitions. * Fixes, or at least lessens the case where a running Ironic agent can stack up numerous lookup requests against an Ironic deployment when a node is locked. In particular, this is beause the lookup also drives generation of the agent token, which requires the conductor to allocate a worker, and generate the token, and return the result to the API client. Ironic's retry logic will now wait up to "60" seconds, and if an HTTP Conflict (409) message is received, the agent will automatically pause lookup operations for thirty seconds as opposed continue to attempt lookups which could create more work for the Ironic deployment needlessly. Changes in ironic-python-agent 9.1.0..9.1.1 ------------------------------------------- 256dfe4 Conditional creation of RAIDed ESP for UEFI Software RAID 5a78bf2 preserve/handle config drives on 4k block devices 06214d7 Handle the node being locked 09c3c41 Fix UTF-16 result handling for efibootmgr fa7e33b Make reno ignore bugfix eol tags 72dd569 Fixes for tox 4.0 ae2fe94 Update TOX_CONSTRAINTS_FILE for stable/zed 75e15dc Update .gitreview for stable/zed Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + ironic_python_agent/config.py | 5 + ironic_python_agent/efi_utils.py | 15 +- ironic_python_agent/ironic_api_client.py | 27 ++- ironic_python_agent/partition_utils.py | 98 ++++++++- ironic_python_agent/raid_utils.py | 112 ++++++---- releasenotes/config.yaml | 2 + ...-block-size-config-drives-4470828dd06d2600.yaml | 12 ++ ...ootmgr-character-encoding-19e531ba694824c1.yaml | 9 + .../rebuild_on_esp_raid-33f359bdf5ccaa09.yaml | 5 + ...d-node-conflict-is-locked-2ea21dd45abfe4f7.yaml | 13 ++ tox.ini | 23 ++- 18 files changed, 637 insertions(+), 127 deletions(-)