We are gleeful to announce the release of: ironic 26.1.5 This release is part of the dalmatian release series. The source is available from: https://opendev.org/openstack/ironic Download the package from: https://tarballs.openstack.org/ironic/ Please report issues through: https://bugs.launchpad.net/ironic/+bugs For more details, please see below. 26.1.5 ^^^^^^ Bug Fixes * Performance of Basic HTTP authentication has been improved by keeping a memory cache of bcrypt password checks. This improves the performance of Ironic conductor with JSON-RPC, and API access when using Basic HTTP authentication. * Ensure that the path to where we are copying the bootloader exists before attempting to copy the bootloader in. * Fixes a race condition where the Redfish power interface could fail with HTTP 400 (BadRequest) or HTTP 409 (Conflict) errors during power operations. These errors are now treated as success when the node is already in the target power state (either on or off), preventing deployment failures when power state changes complete after Ironic's state verification times out. Also refresh system state to get current power state from BMC instead of using potentially stale cached data. * Fixes an issue where "disable_ramdisk" could bypass API validation when supplied via a runbook because validation happened before runbook resolution. * Report a better error message than a KeyError when there are no interfaces in the inspection data when running the validate- interfaces inspection hook. Changes in ironic 26.1.4..26.1.5 -------------------------------- 40a4bec17 Fix order of `disable_ramdisk` validation 428cc528c fix: report a better error in validate-interfaces 45c3c241c fix: ensure that the bootloader path exists f2a4a741c Handle HTTP 400 and 409 race condition in Redfish power operations a54c628f7 More RAM for Anaconda job a9254f9e5 Memoize calls to bcrypt.checkpw Diffstat (except docs and test files) ------------------------------------- ironic/api/app.py | 2 +- ironic/api/controllers/v1/node.py | 3 +- ironic/common/auth_basic.py | 220 +++++++++++++++++++++ ironic/common/pxe_utils.py | 41 ++-- .../modules/inspector/hooks/validate_interfaces.py | 5 + ironic/drivers/modules/redfish/power.py | 41 ++++ .../unit/drivers/modules/redfish/test_power.py | 187 ++++++++++++++++++ .../notes/bcrypt_cache-d78775ff02f2d970.yaml | 7 + ...bootloader-paths-creation-b5097003f25a18ad.yaml | 5 + .../notes/catch-redfish-409-0819174174245ade.yaml | 11 ++ ...k-validation-for-runbooks-e32617f1e9227e65.yaml | 6 + .../validate-interfaces-hook-49d7d6c57929a8cd.yaml | 5 + zuul.d/ironic-jobs.yaml | 2 +- 16 files changed, 603 insertions(+), 62 deletions(-)
participants (1)
-
no-reply@openstack.org