@@ -156,7 +156,7 @@ func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, log lo
156
156
return reconcile.Result {}, err
157
157
}
158
158
159
- if openStackCluster .Spec .ManagedAPIServerLoadBalancer {
159
+ if openStackCluster .Spec .ManagedAPIServerLoadBalancer && openStackCluster . Status . Network != nil {
160
160
if apiLb := openStackCluster .Status .Network .APIServerLoadBalancer ; apiLb != nil {
161
161
if err = loadBalancerService .DeleteLoadBalancer (apiLb .Name , openStackCluster ); err != nil {
162
162
return reconcile.Result {}, errors .Errorf ("failed to delete load balancer: %v" , err )
@@ -189,17 +189,17 @@ func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, log lo
189
189
r .Recorder .Eventf (openStackCluster , corev1 .EventTypeNormal , "SuccessfulDeleteSecurityGroup" , "Deleted security group %s with id %s" , controlPlaneSecGroup .Name , controlPlaneSecGroup .ID )
190
190
}
191
191
192
- if router := openStackCluster .Status .Network .Router ; router != nil {
193
- log .Info ("Deleting router" , "name" , router .Name )
194
- if err = networkingService .DeleteRouter (openStackCluster .Status .Network ); err != nil {
195
- return ctrl.Result {}, errors .Errorf ("failed to delete router: %v" , err )
196
- }
197
- r .Recorder .Eventf (openStackCluster , corev1 .EventTypeNormal , "SuccessfulDeleteRouter" , "Deleted router %s with id %s" , router .Name , router .ID )
198
- log .Info ("OpenStack router deleted successfully" )
199
- }
200
-
201
192
// if NodeCIDR was not set, no network was created.
202
193
if network := openStackCluster .Status .Network ; network != nil && openStackCluster .Spec .NodeCIDR != "" {
194
+ if router := network .Router ; router != nil {
195
+ log .Info ("Deleting router" , "name" , router .Name )
196
+ if err = networkingService .DeleteRouter (network ); err != nil {
197
+ return ctrl.Result {}, errors .Errorf ("failed to delete router: %v" , err )
198
+ }
199
+ r .Recorder .Eventf (openStackCluster , corev1 .EventTypeNormal , "SuccessfulDeleteRouter" , "Deleted router %s with id %s" , router .Name , router .ID )
200
+ log .Info ("OpenStack router deleted successfully" )
201
+ }
202
+
203
203
log .Info ("Deleting network" , "name" , network .Name )
204
204
if err = networkingService .DeleteNetwork (network ); err != nil {
205
205
return ctrl.Result {}, errors .Errorf ("failed to delete network: %v" , err )
0 commit comments