@@ -319,13 +319,24 @@ func (r *ClusterReconciler) handleDelete(ctx context.Context, c *clustersv1alpha
319319 }
320320
321321 // get access to Cluster
322+ log .Info ("Updating AccessRequest to get access to Cluster" )
322323 req := testutils .RequestFromObject (c )
324+ res , err := r .ClusterAccessReconciler .Reconcile (ctx , req )
325+ if err != nil {
326+ rr .ReconcileError = errutils .WithReason (fmt .Errorf ("error reconciling cluster access: %w" , err ), clusterconst .ReasonInternalError )
327+ return rr
328+ }
329+ if res .RequeueAfter > 0 {
330+ log .Info ("Requeuing because cluster access is not yet available" , "after" , res .RequeueAfter )
331+ rr .Result = res
332+ return rr
333+ }
323334 ar , err := r .ClusterAccessReconciler .AccessRequest (ctx , req , clusterId )
324335 if client .IgnoreNotFound (err ) != nil {
325336 rr .ReconcileError = errutils .WithReason (fmt .Errorf ("error getting AccessRequest: %w" , err ), clusterconst .ReasonInternalError )
326337 return rr
327338 }
328- if ar != nil && ar .Status .IsGranted () {
339+ if ar != nil && ar .DeletionTimestamp . IsZero () && ar . Status .IsGranted () {
329340 access , err := r .ClusterAccessReconciler .Access (ctx , req , clusterId )
330341 if err != nil {
331342 rr .ReconcileError = errutils .WithReason (fmt .Errorf ("error getting access to Cluster: %w" , err ), clusterconst .ReasonInternalError )
@@ -351,7 +362,7 @@ func (r *ClusterReconciler) handleDelete(ctx context.Context, c *clustersv1alpha
351362 return rr
352363 }
353364
354- res , err : = r .ClusterAccessReconciler .ReconcileDelete (ctx , req )
365+ res , err = r .ClusterAccessReconciler .ReconcileDelete (ctx , req )
355366 if err != nil {
356367 rr .ReconcileError = errutils .WithReason (fmt .Errorf ("error reconciling deletion of cluster access: %w" , err ), clusterconst .ReasonInternalError )
357368 return rr
0 commit comments