uber-archive / makisu

Fast and flexible Docker image building tool, works in unprivileged containerized environments like Mesos and Kubernetes.
Apache License 2.0
2.41k stars 153 forks source link

Make registry client retry on specific http errors #347

Closed evelynl94 closed 4 years ago

evelynl94 commented 4 years ago

Depend on https://github.com/uber/makisu/pull/346 for error wrapping.

We should restart the push stream from the beginning only when the client is interrupted by network error, retryable http codes from registry and unexpected 500. Note that because building images are expensive, we would want the registry client to be more tolerable on unexpected conditions, retrying on 500 seems acceptable.

Also refactored the push fixture so we can add more useful tests later.