@@ -152,6 +152,9 @@ func (n *Synchronizer) Reconcile(ctx context.Context, req ctrl.Request, app reso
152
152
// fixme: can be removed when we don't have garbage data anymore. Late 2024?
153
153
app .GetStatus ().Conditions = nil
154
154
155
+ // Clear out any old problems from previous synchronizations.
156
+ app .GetStatus ().ClearProblems ()
157
+
155
158
kind := app .GetObjectKind ().GroupVersionKind ().Kind
156
159
changed := true
157
160
@@ -224,6 +227,7 @@ func (n *Synchronizer) Reconcile(ctx context.Context, req ctrl.Request, app reso
224
227
rollout , err := n .Prepare (ctx , app )
225
228
if err != nil {
226
229
app .GetStatus ().SetSynchronizationStateWithCondition (events .FailedPrepare , err .Error ())
230
+ app .GetStatus ().SetError (err .Error ())
227
231
n .reportError (ctx , app .GetStatus ().SynchronizationState , err , app )
228
232
return ctrl.Result {RequeueAfter : prepareRetryInterval }, nil
229
233
}
@@ -247,6 +251,7 @@ func (n *Synchronizer) Reconcile(ctx context.Context, req ctrl.Request, app reso
247
251
rollout .ResourceOperations , err = n .generator .Generate (rollout .Source , rollout .Options )
248
252
if err != nil {
249
253
app .GetStatus ().SetSynchronizationStateWithCondition (events .FailedGenerate , err .Error ())
254
+ app .GetStatus ().SetError (err .Error ())
250
255
n .reportError (ctx , app .GetStatus ().SynchronizationState , err , app )
251
256
return ctrl.Result {}, err
252
257
}
@@ -260,9 +265,11 @@ func (n *Synchronizer) Reconcile(ctx context.Context, req ctrl.Request, app reso
260
265
if err != nil {
261
266
if retry {
262
267
app .GetStatus ().SetSynchronizationStateWithCondition (events .Retrying , err .Error ())
268
+ // No error in problems array, because this is a transient error which the user has no control over.
263
269
n .reportError (ctx , app .GetStatus ().SynchronizationState , err , app )
264
270
} else {
265
271
app .GetStatus ().SetSynchronizationStateWithCondition (events .FailedSynchronization , err .Error ())
272
+ app .GetStatus ().SetError (err .Error ())
266
273
app .GetStatus ().SynchronizationHash = rollout .SynchronizationHash // permanent failure
267
274
n .reportError (ctx , app .GetStatus ().SynchronizationState , err , app )
268
275
err = nil
0 commit comments