@@ -35,14 +35,8 @@ func (r *Reconciler) delete(ctx context.Context, log logr.Logger, provider *v1al
3535 } else if since > 0 && since < 30 * time .Minute {
3636 res .RequeueAfter = since / 10
3737 }
38- if r .state .GetProviderState (client .ObjectKeyFromObject (provider )) == nil {
39- // after controller restart, reconcile to recreate provider state
40- res2 , err := r .reconcile (ctx , log , provider )
41- if ! res2 .IsZero () || err != nil {
42- return res2 , err
43- }
44- res2 .RequeueAfter = 1 * time .Second
45- return res2 , nil
38+ if res , err := r .handleEmptyProviderState (ctx , log , provider ); ! res .IsZero () || err != nil {
39+ return res , err
4640 }
4741 return res , r .updateStatus (ctx , provider , func (status * v1alpha1.DNSProviderStatus ) error {
4842 status .Message = ptr .To (fmt .Sprintf ("cannot delete provider, %d DNSEntries still assigned to it" , len (entries .Items )))
@@ -56,3 +50,16 @@ func (r *Reconciler) delete(ctx context.Context, log logr.Logger, provider *v1al
5650
5751 return reconcile.Result {}, nil
5852}
53+
54+ func (r * Reconciler ) handleEmptyProviderState (ctx context.Context , log logr.Logger , provider * v1alpha1.DNSProvider ) (reconcile.Result , error ) {
55+ if r .state .GetProviderState (client .ObjectKeyFromObject (provider )) == nil {
56+ // after controller restart, reconcile to recreate provider state
57+ res , err := r .reconcile (ctx , log , provider )
58+ if ! res .IsZero () || err != nil {
59+ return res , err
60+ }
61+ res .RequeueAfter = 1 * time .Second
62+ return res , nil
63+ }
64+ return reconcile.Result {}, nil
65+ }
0 commit comments