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