@@ -83,7 +83,7 @@ func (onDemand *BaseOnDemand) SyncImage(ctx context.Context, repo, reference str
83
83
return err
84
84
}
85
85
86
- func (onDemand * BaseOnDemand ) SyncReference (ctx context.Context , repo string ,
86
+ func (onDemand * BaseOnDemand ) SyncReference (ctx context.Context , localRepo string ,
87
87
subjectDigestStr string , referenceType string ,
88
88
) error {
89
89
var err error
@@ -94,7 +94,17 @@ func (onDemand *BaseOnDemand) SyncReference(ctx context.Context, repo string,
94
94
return err
95
95
}
96
96
97
- err = service .SyncReference (ctx , repo , subjectDigestStr , referenceType )
97
+ remoteRepo , err := service .GetRemoteRepoName (localRepo )
98
+ if err != nil {
99
+ // filtered out
100
+ onDemand .log .Info ().Str ("local repository" , localRepo ).
101
+ Str ("repository" , localRepo ).Str ("subject" , subjectDigestStr ).
102
+ Msg ("will not sync image, filtered out by content" )
103
+
104
+ continue
105
+ }
106
+
107
+ err = service .SyncReference (ctx , localRepo , remoteRepo , subjectDigestStr , referenceType )
98
108
if err != nil {
99
109
continue
100
110
} else {
@@ -105,7 +115,7 @@ func (onDemand *BaseOnDemand) SyncReference(ctx context.Context, repo string,
105
115
return err
106
116
}
107
117
108
- func (onDemand * BaseOnDemand ) syncImage (ctx context.Context , repo , reference string , syncResult chan error ) {
118
+ func (onDemand * BaseOnDemand ) syncImage (ctx context.Context , localRepo , reference string , syncResult chan error ) {
109
119
var err error
110
120
for serviceID , service := range onDemand .services {
111
121
err = service .SetNextAvailableURL ()
@@ -115,16 +125,25 @@ func (onDemand *BaseOnDemand) syncImage(ctx context.Context, repo, reference str
115
125
return
116
126
}
117
127
118
- err = service .SyncImage (ctx , repo , reference )
128
+ remoteRepo , err := service .GetRemoteRepoName (localRepo )
129
+ if err != nil {
130
+ // filtered out
131
+ onDemand .log .Info ().Str ("local repository" , localRepo ).
132
+ Str ("remote repository" , remoteRepo ).Str ("repository" , localRepo ).Str ("reference" , reference ).
133
+ Msg ("will not sync image, filtered out by content" )
134
+
135
+ continue
136
+ }
137
+
138
+ err = service .SyncImage (ctx , localRepo , remoteRepo , reference )
119
139
if err != nil {
120
140
if errors .Is (err , zerr .ErrManifestNotFound ) ||
121
- errors .Is (err , zerr .ErrSyncImageFilteredOut ) ||
122
141
errors .Is (err , zerr .ErrSyncImageNotSigned ) {
123
142
continue
124
143
}
125
144
126
145
req := request {
127
- repo : repo ,
146
+ repo : localRepo ,
128
147
reference : reference ,
129
148
serviceID : serviceID ,
130
149
isBackground : true ,
@@ -143,22 +162,25 @@ func (onDemand *BaseOnDemand) syncImage(ctx context.Context, repo, reference str
143
162
// remove image after syncing
144
163
defer func () {
145
164
onDemand .requestStore .Delete (req )
146
- onDemand .log .Info ().Str ("repo" , repo ).Str ("reference" , reference ).
165
+ onDemand .log .Info ().Str ("local repository" , localRepo ).
166
+ Str ("remote repository" , remoteRepo ).Str ("reference" , reference ).
147
167
Msg ("sync routine for image exited" )
148
168
}()
149
169
150
- onDemand .log .Info ().Str ("repo" , repo ).Str (reference , "reference" ).Str ("err" , err .Error ()).
170
+ onDemand .log .Info ().Str ("local repository" , localRepo ).
171
+ Str ("remote repository" , remoteRepo ).Str (reference , "reference" ).Str ("err" , err .Error ()).
151
172
Msg ("sync routine: starting routine to copy image, because of error" )
152
173
153
174
time .Sleep (retryOptions .Delay )
154
175
155
176
// retrying in background, can't use the same context which should be cancelled by now.
156
177
if err = retry .RetryIfNecessary (context .Background (), func () error {
157
- err := service .SyncImage (context .Background (), repo , reference )
178
+ err := service .SyncImage (context .Background (), localRepo , remoteRepo , reference )
158
179
159
180
return err
160
181
}, retryOptions ); err != nil {
161
- onDemand .log .Error ().Str ("errorType" , common .TypeOf (err )).Str ("repo" , repo ).Str ("reference" , reference ).
182
+ onDemand .log .Error ().Str ("errorType" , common .TypeOf (err )).Str ("local repository" , localRepo ).
183
+ Str ("remote repository" , remoteRepo ).Str ("reference" , reference ).
162
184
Err (err ).Msg ("sync routine: error while copying image" )
163
185
}
164
186
}(service )
0 commit comments