-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add retries to iPXE script when fetching files #333
Comments
Can someone identify which line in boots is responsible for the fetching that is missing retry? It would help the person who might want to take this issue on. |
If I'm not mistaken, @mmlb is talking about this area in |
Nope, its actually in the installers: https://github.com/tinkerbell/boots/blob/ba3a3fef424ebfd7125b08ae99dcb9631bc911a8/installers/osie/main.go#L54 We'd probably need a bounded loop that breaks on success. |
If it helps, I've had good luck with using this library for exponential backoff+jitter, and have seen it used elsewhere in Tinkerbell (tink?): https://pkg.go.dev/github.com/cenkalti/backoff/v4 |
The http request is not from boot's side. Its ipxe doing the fetches we'd need to do the retries/backoff in the iPXE script. |
## Description This will help overcome transient network issues. ## Why is this needed Fixes: #333 ## How Has This Been Tested? ## How are existing users impacted? What migration steps/scripts do we need? ## Checklist: I have: - [ ] updated the documentation and/or roadmap (if required) - [ ] added unit or e2e tests - [ ] provided instructions on how to upgrade
The iPXE file fetches can run into temporary network issues when downloading the kernel/initramfs files.
We should add some retry logic.
Expected Behaviour
Temporary network failures do not cause the iPXE boot to fail.
Current Behaviour
iPXE boot will fail if there's a network issue.
The text was updated successfully, but these errors were encountered: