Files
ironic/releasenotes/notes/bmc-validation-after-firmware-update-3d5f8a9e76c24d1b.yaml
Jacob Anders 85ec9d655f Fix intermittent Redfish firmware update failures with BMC validation
Resolves a bug where firmware updates fail intermittently on some
hardware models due to invalid or unstable BMC responses immediately
after firmware update completion. The BMC may return inconsistent
responses for a period after firmware updates, causing the update
process to fail prematurely.

This change adds comprehensive BMC state validation that requires
multiple consecutive successful responses from System, Manager, and
NetworkAdapters resources before considering the firmware update
complete. This ensures the BMC has fully stabilized before proceeding.

Generated-By: Claude Code Sonnet 4
Change-Id: I5cb72f62d3fc62c3ad750c62924842cef59e79b8
Signed-off-by: Jacob Anders <janders@redhat.com>
2025-10-03 14:17:41 +10:00

25 lines
1.2 KiB
YAML

---
fixes:
- |
Reduces likelihood of intermittent firmware upgrade failures by adding
comprehensive BMC state validation after firmware upgrades for the
Redfish driver. After a firmware update task completes successfully, Ironic
now validates that BMC resources (System, Manager, and NetworkAdapters) are
consistently available before proceeding with subsequent operations.
This change improves firmware update reliability by requiring a
configurable number of consecutive successful responses from the BMC
resources. The validation process helps ensure the BMC has fully stabilized
after firmware updates before marking the operation as complete.
New configuration options in the ``[redfish]`` section:
* ``firmware_update_required_successes`` - Number of consecutive successful
responses required to consider BMC validation successful (default: 3),
0 disables validation
* ``firmware_update_validation_interval`` - Time in seconds to wait between
validation attempts (default: 30)
* ``firmware_update_resource_validation_timeout`` - Maximum time in seconds
to wait for BMC resources to stabilize (default: 300), setting it to 0
disables validation.