@@ -372,6 +372,9 @@ func (r *LinodeVPCReconciler) handleRetainedVPC(ctx context.Context, logger logr
372372func (r * LinodeVPCReconciler ) handleRetainedSubnets (ctx context.Context , logger logr.Logger , vpcScope * scope.VPCScope ) error {
373373 vpc , err := getVPC (ctx , vpcScope )
374374 if err != nil {
375+ if errors .Is (err , ErrVPCNotFound ) {
376+ return nil
377+ }
375378 logger .Error (err , "Failed to fetch VPC for subnet deletion" )
376379 if vpcScope .LinodeVPC .ObjectMeta .DeletionTimestamp .Add (reconciler .DefaultTimeout (r .ReconcileTimeout , reconciler .DefaultVPCControllerReconcileTimeout )).After (time .Now ()) {
377380 logger .Info ("re-queuing VPC deletion due to fetch error for subnet deletion" )
@@ -380,10 +383,6 @@ func (r *LinodeVPCReconciler) handleRetainedSubnets(ctx context.Context, logger
380383 return err
381384 }
382385
383- if vpc == nil {
384- return nil
385- }
386-
387386 // index the subnets by ID for quick lookup
388387 apiSubnets := make (map [int ]linodego.VPCSubnet )
389388 for _ , s := range vpc .Subnets {
@@ -433,17 +432,17 @@ func (r *LinodeVPCReconciler) handleRetainedSubnets(ctx context.Context, logger
433432func (r * LinodeVPCReconciler ) deleteVPCResources (ctx context.Context , logger logr.Logger , vpcScope * scope.VPCScope ) error {
434433 vpc , err := getVPC (ctx , vpcScope )
435434 if err != nil {
435+ if errors .Is (err , ErrVPCNotFound ) {
436+ logger .Info ("VPC not found, nothing to do" )
437+ return nil
438+ }
436439 logger .Error (err , "Failed to fetch VPC" )
437440 if vpcScope .LinodeVPC .ObjectMeta .DeletionTimestamp .Add (reconciler .DefaultTimeout (r .ReconcileTimeout , reconciler .DefaultVPCControllerReconcileTimeout )).After (time .Now ()) {
438441 logger .Info ("re-queuing VPC deletion due to fetch error" )
439442 return util .ErrReconcileAgain
440443 }
441444 return err
442445 }
443- if vpc == nil {
444- logger .Info ("VPC not found, nothing to do" )
445- return nil
446- }
447446
448447 for i := range vpc .Subnets {
449448 if len (vpc .Subnets [i ].Linodes ) == 0 {
0 commit comments