@@ -56,9 +56,26 @@ func (r *Registry) Pull(ctx context.Context, ref image.Reference) error {
5656 return err
5757 }
5858
59- name , root , err := resolver .Resolve (ctx , ref .String ())
60- if err != nil {
61- return fmt .Errorf ("error resolving name for image ref %s: %v" , ref .String (), err )
59+ retryBackoff := wait.Backoff {
60+ Duration : 1 * time .Second ,
61+ Factor : 1.0 ,
62+ Jitter : 0.1 ,
63+ Steps : 5 ,
64+ }
65+
66+ var name string
67+ var root ocispec.Descriptor
68+ if err := retry .OnError (retryBackoff ,
69+ func (pullErr error ) bool {
70+ r .log .Warnf ("Error resolving registry %q: %v. Retrying" , ref .String (), pullErr )
71+ return true
72+ },
73+ func () error {
74+ name , root , err = resolver .Resolve (ctx , ref .String ())
75+ return err
76+ },
77+ ); err != nil {
78+ return fmt .Errorf ("error resolving remote name %s: %v" , ref .String (), err )
6279 }
6380 r .log .Debugf ("resolved name: %s" , name )
6481
@@ -67,13 +84,6 @@ func (r *Registry) Pull(ctx context.Context, ref image.Reference) error {
6784 return err
6885 }
6986
70- retryBackoff := wait.Backoff {
71- Duration : 1 * time .Second ,
72- Factor : 1.0 ,
73- Jitter : 0.1 ,
74- Steps : 5 ,
75- }
76-
7787 if err := retry .OnError (retryBackoff ,
7888 func (pullErr error ) bool {
7989 if nonRetriablePullError .MatchString (pullErr .Error ()) {
0 commit comments