fix: retry on HTTP 503 from OpenBMC REST API instead of failing#7556
Merged
Conversation
OpenBMC BMCs intermittently return 503 Service Unavailable when the REST service is busy or recovering. xCAT reported the error immediately, requiring the user to manually retry. A second attempt usually succeeds. Retry the same request up to 3 times with a 3-second wait on 503. If all retries fail, report the error as before. The existing 504 handling for bmcreboot is preserved. Ref: xcat2#4264
Obihoernchen
approved these changes
May 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds some tolerance with non-responsive OpenBMC during transient status, as described on #4264.
OpenBMC BMCs sometimes return HTTP 503 when the REST service is busy or recovering from a reboot. xCAT reported the error and gave up, making the user retry manually. Second attempt usually worked.
When openbmc.pm gets a 503, retry the same request up to 3 times with a 3-second wait. If all retries fail, report the error as before. The existing 504 handling for bmcreboot is not touched.
Validation
IBM POWER9 AC922 (OpenBMC). No regressions.
Fixes #4264