-
Notifications
You must be signed in to change notification settings - Fork 207
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
feature request: Retry if Registry Returns 5xx HTTP Error #2299
Comments
From a recent run log, it appears skopeo does not retry in this case:
|
Thanks for your report. This logic is centralized in https://github.com/containers/common/tree/main/pkg/retry, moving there. |
As noted in containers/podman#25109 (comment) this also causes intermediate |
I assume retrying 502 would also be really useful for
|
I imagine 502 or 503 are the most common server-side HTTP errors that can come from a container registry. Personally I think it's safe to retry on any 5xx code since the default retry logic uses an exponential backoff. |
I can confirm that 502 from quay.io is one of the most common errors I see in our (podman) CI logs. It was so flaky we had to move to a local cache registry to solve move of these issues. However some pulls still hit the real quay.io and in other test env where we do not have the cache registry (e.g. gating test on distros) so I still see regular 502 in the logs. So I totally agree here that retying 5XX codes should help many of our users. That said I am not sure how pkg/retry can be used there without other changes.
c/image defines its own type |
Sure. I probably wouldn’t want to make a c/image-wide new error type, it’s hard to promise that we can provide that information for various (current and hypothetical future) external dependencies (like a Fulcio/Rekor client) — but adding a new |
Feature Request
Improve skopeo's "retry" logic to retry if the registry returns a 5xx HTTP error code. Such an error can be intermittent in a production environment, depending on how the container registry is configured/deployed.
Use Case
On Red Hat's Konflux, skopeo is used to build the "source" container image/OCI artifact. This step in the build pipeline can fail if the upstream registry (such as
registry.redhat.io
) is having intermittent performance issues.The text was updated successfully, but these errors were encountered: