We are overjoyed to announce the release of: ironic-python-agent 9.4.1: Ironic Python Agent Ramdisk This release is part of the antelope 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.4.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 a failure case where downloads would not be retried when the checksum fails verification. the agent now includes the checksum activity as part of the file download operation, and will automatically retry downloads when the checksum fails in accordance with the existing download retry logic. This is largely in response to what appears to be intermittent transport failures at lower levels which we cannot otherwise detect. * 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. Other Notes *********** * The agent now logs the size of data transferred when downloading images, which can be helpful in troubleshooting image download issues. Changes in ironic-python-agent 9.4.0..9.4.1 ------------------------------------------- 3bf1980 Conditional creation of RAIDed ESP for UEFI Software RAID 424e4b3 Retry on checksum failures 0e6c4c4 preserve/handle config drives on 4k block devices 8045678 Handle the node being locked 33188d9 Log the number of bytes downloaded 2fe6a45 Fix UTF-16 result handling for efibootmgr 034ae89 Update TOX_CONSTRAINTS_FILE for stable/2023.1 e3f9c2b Update .gitreview for stable/2023.1 Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + ironic_python_agent/config.py | 5 + ironic_python_agent/efi_utils.py | 15 +- ironic_python_agent/extensions/standby.py | 55 ++++- ironic_python_agent/ironic_api_client.py | 27 ++- ironic_python_agent/partition_utils.py | 98 ++++++++- ironic_python_agent/raid_utils.py | 112 ++++++---- ...-block-size-config-drives-4470828dd06d2600.yaml | 12 ++ ...dering-download-completed-91cca9fef34d8cf5.yaml | 11 + ...ootmgr-character-encoding-19e531ba694824c1.yaml | 9 + .../notes/log-download-size-57982fa8df336520.yaml | 5 + .../rebuild_on_esp_raid-33f359bdf5ccaa09.yaml | 5 + ...d-node-conflict-is-locked-2ea21dd45abfe4f7.yaml | 13 ++ tox.ini | 8 +- 21 files changed, 740 insertions(+), 133 deletions(-)
participants (1)
-
no-reply@openstack.org