@@ -18,9 +18,9 @@ package operator
18
18
19
19
import (
20
20
"context"
21
+ "reflect"
21
22
22
23
"fmt"
23
- "reflect"
24
24
"sync"
25
25
"time"
26
26
@@ -218,14 +218,6 @@ func (r *AuthenticationReconciler) Reconcile(ctx context.Context, req ctrl.Reque
218
218
needToRequeue := false
219
219
220
220
reconcileCtx := logf .IntoContext (ctx , reqLogger )
221
- // Set default result
222
- result = ctrl.Result {}
223
- // Set Requeue to true if requeue is needed at end of reconcile loop
224
- defer func () {
225
- if needToRequeue {
226
- result .Requeue = true
227
- }
228
- }()
229
221
230
222
reqLogger .Info ("Reconciling Authentication" )
231
223
@@ -262,63 +254,44 @@ func (r *AuthenticationReconciler) Reconcile(ctx context.Context, req ctrl.Reque
262
254
return
263
255
}
264
256
257
+ originalAuthCR := instance .DeepCopy ()
265
258
// Be sure to update status before returning if Authentication is found (but only if the Authentication hasn't
266
259
// already been updated, e.g. finalizer update
267
260
defer func () {
268
- reqLogger .Info ("Update status before finishing loop." )
269
- if reflect .DeepEqual (instance .Status , operatorv1alpha1.AuthenticationStatus {}) {
270
- instance .Status = operatorv1alpha1.AuthenticationStatus {
271
- Nodes : []string {},
272
- }
261
+ if needToRequeue {
262
+ result .Requeue = true
273
263
}
274
- currentServiceStatus := r .getCurrentServiceStatus (ctx , r .Client , instance )
275
- if ! reflect .DeepEqual (currentServiceStatus , instance .Status .Service ) {
276
- instance .Status .Service = currentServiceStatus
277
- reqLogger .Info ("Current status does not reflect current state; updating" )
264
+ err = r .setAuthenticationStatus (ctx , instance )
265
+ if reflect .DeepEqual (originalAuthCR .Status , instance .Status ) {
266
+ goto statuslog
278
267
}
279
- statusUpdateErr := r .Client .Status ().Update (ctx , instance )
280
- if statusUpdateErr != nil {
281
- reqLogger .Error (statusUpdateErr , "Failed to update status; trying again" )
282
- currentInstance := & operatorv1alpha1.Authentication {}
283
- r .Client .Get (ctx , req .NamespacedName , currentInstance )
284
- currentInstance .Status .Service = currentServiceStatus
285
- statusUpdateErr = r .Client .Status ().Update (ctx , currentInstance )
286
- if statusUpdateErr != nil {
287
- reqLogger .Error (statusUpdateErr , "Retry failed; returning error" )
288
- return
289
- }
268
+ reqLogger .Info ("Update status before finishing loop." )
269
+ if err = r .Client .Status ().Update (ctx , instance ); err != nil {
270
+ reqLogger .Error (err , "Failed to update status" )
290
271
} else {
291
272
reqLogger .Info ("Updated status" )
292
273
}
293
- reqLogger .V (1 ).Info ("Final result" , "result" , result , "err" , err )
274
+ statuslog:
275
+ reqLogger .Info ("Reconciliation complete" )
294
276
}()
295
277
296
278
var subResult * ctrl.Result
297
279
if subResult , err = r .addMongoMigrationFinalizers (reconcileCtx , req ); subreconciler .ShouldHaltOrRequeue (subResult , err ) {
298
- reqLogger .V (1 ).Info ("Should halt or requeue after addMongoMigrationFinalizers" , "result" , result , "err" , err )
299
- result , err = subreconciler .Evaluate (subResult , err )
300
- return
280
+ return subreconciler .Evaluate (subResult , err )
301
281
}
302
282
303
283
if subResult , err = r .overrideMongoDBBootstrap (reconcileCtx , req ); subreconciler .ShouldHaltOrRequeue (subResult , err ) {
304
- reqLogger .V (1 ).Info ("Should halt or requeue after overrideMongoDBBootstrap" , "result" , result , "err" , err )
305
- result , err = subreconciler .Evaluate (subResult , err )
306
- return
284
+ return subreconciler .Evaluate (subResult , err )
307
285
}
308
286
309
287
if subResult , err = r .handleOperandRequest (reconcileCtx , req ); subreconciler .ShouldHaltOrRequeue (subResult , err ) {
310
- reqLogger .V (1 ).Info ("Should halt or requeue after handleOperandRequest" , "result" , result , "err" , err )
311
- result , err = subreconciler .Evaluate (subResult , err )
312
- return
288
+ return subreconciler .Evaluate (subResult , err )
313
289
}
314
290
315
291
if subResult , err = r .createEDBShareClaim (reconcileCtx , req ); subreconciler .ShouldHaltOrRequeue (subResult , err ) {
316
- reqLogger .V (1 ).Info ("Should halt or requeue after createEDBShareClaim" , "result" , result , "err" , err )
317
- result , err = subreconciler .Evaluate (subResult , err )
318
- return
292
+ return subreconciler .Evaluate (subResult , err )
319
293
}
320
294
321
- // Check if this Certificate already exists and create it if it doesn't
322
295
reqLogger .Info ("Creating ibm-iam-operand-restricted serviceaccount" )
323
296
currentSA := & corev1.ServiceAccount {}
324
297
err = r .createSA (instance , currentSA , & needToRequeue )
@@ -389,7 +362,6 @@ func (r *AuthenticationReconciler) Reconcile(ctx context.Context, req ctrl.Reque
389
362
}
390
363
391
364
if result , err := r .handleMongoDBCleanup (reconcileCtx , req ); subreconciler .ShouldHaltOrRequeue (result , err ) {
392
- reqLogger .V (1 ).Info ("Should halt or requeue after handleMongoDBCleanup" , "result" , result , "err" , err )
393
365
return subreconciler .Evaluate (result , err )
394
366
}
395
367
@@ -418,7 +390,7 @@ func (r *AuthenticationReconciler) Reconcile(ctx context.Context, req ctrl.Reque
418
390
return subreconciler .Evaluate (subResult , err )
419
391
}
420
392
421
- return
393
+ return subreconciler . Evaluate ( subreconciler . DoNotRequeue ())
422
394
}
423
395
424
396
// SetupWithManager sets up the controller with the Manager.
0 commit comments