Skip to content

Commit 0bad63f

Browse files
committed
Add events deleting resources
This commit adds events deleting resources.
1 parent c6edfb1 commit 0bad63f

File tree

3 files changed

+36
-31
lines changed

3 files changed

+36
-31
lines changed

controllers/openstackcluster_controller.go

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,14 @@ func (r *OpenStackClusterReconciler) Reconcile(req ctrl.Request) (_ ctrl.Result,
103103

104104
// Handle deleted clusters
105105
if !openStackCluster.DeletionTimestamp.IsZero() {
106-
return r.reconcileDelete(ctx, log, patchHelper, cluster, openStackCluster)
106+
return r.reconcileDelete(ctx, log, patchHelper, openStackCluster)
107107
}
108108

109109
// Handle non-deleted clusters
110110
return r.reconcileNormal(ctx, log, patchHelper, cluster, openStackCluster)
111111
}
112112

113-
func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, log logr.Logger, patchHelper *patch.Helper, cluster *clusterv1.Cluster, openStackCluster *infrav1.OpenStackCluster) (ctrl.Result, error) {
113+
func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, log logr.Logger, patchHelper *patch.Helper, openStackCluster *infrav1.OpenStackCluster) (ctrl.Result, error) {
114114
log.Info("Reconciling Cluster delete")
115115

116116
osProviderClient, clientOpts, err := provider.NewClientFromCluster(r.Client, openStackCluster)
@@ -128,19 +128,21 @@ func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, log lo
128128
if err != nil {
129129
return reconcile.Result{}, err
130130
}
131+
if bastion := openStackCluster.Status.Bastion; bastion != nil {
131132

132-
err = computeService.DeleteBastion(openStackCluster.Status.Bastion.ID)
133-
if err != nil {
134-
return reconcile.Result{}, errors.Errorf("failed to delete bastion: %v", err)
133+
if err = computeService.DeleteBastion(bastion.ID); err != nil {
134+
return reconcile.Result{}, errors.Errorf("failed to delete bastion: %v", err)
135+
}
136+
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulDeleteServer", "Deleted server %s with id %s", bastion.Name, bastion.ID)
135137
}
136-
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulTerminate", "Terminated instance %q", openStackCluster.Status.Bastion.ID)
137-
if openStackCluster.Status.BastionSecurityGroup != nil {
138-
log.Info("Deleting bastion security group", "name", openStackCluster.Status.BastionSecurityGroup.Name)
139138

140-
err = networkingService.DeleteSecurityGroups(openStackCluster.Status.BastionSecurityGroup)
141-
if err != nil {
139+
if bastionSecGroup := openStackCluster.Status.BastionSecurityGroup; bastionSecGroup != nil {
140+
log.Info("Deleting bastion security group", "name", bastionSecGroup.Name)
141+
if err = networkingService.DeleteSecurityGroups(bastionSecGroup); err != nil {
142142
return reconcile.Result{}, errors.Errorf("failed to delete security group: %v", err)
143143
}
144+
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulDeleteSecurityGroup", "Deleted security group %s with id %s", bastionSecGroup.Name, bastionSecGroup.ID)
145+
144146
}
145147
}
146148

@@ -149,45 +151,49 @@ func (r *OpenStackClusterReconciler) reconcileDelete(ctx context.Context, log lo
149151
return reconcile.Result{}, err
150152
}
151153

152-
clusterName := fmt.Sprintf("%s-%s", cluster.Namespace, cluster.Name)
153154
if openStackCluster.Spec.ManagedAPIServerLoadBalancer {
154-
err = loadBalancerService.DeleteLoadBalancer(clusterName, openStackCluster)
155-
if err != nil {
156-
return reconcile.Result{}, errors.Errorf("failed to delete load balancer: %v", err)
155+
if apiLb := openStackCluster.Status.Network.APIServerLoadBalancer; apiLb != nil {
156+
if err = loadBalancerService.DeleteLoadBalancer(apiLb.Name, openStackCluster); err != nil {
157+
return reconcile.Result{}, errors.Errorf("failed to delete load balancer: %v", err)
158+
}
159+
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulDeleteLoadBalancer", "Deleted load balancer %s with id %s", apiLb.Name, apiLb.ID)
160+
157161
}
158162
}
159163

160164
// Delete other things
161-
if openStackCluster.Status.WorkerSecurityGroup != nil {
162-
log.Info("Deleting worker security group", "name", openStackCluster.Status.WorkerSecurityGroup.Name)
163-
err := networkingService.DeleteSecurityGroups(openStackCluster.Status.WorkerSecurityGroup)
164-
if err != nil {
165+
if workerSecGroup := openStackCluster.Status.WorkerSecurityGroup; workerSecGroup != nil {
166+
log.Info("Deleting worker security group", "name", workerSecGroup.Name)
167+
if err = networkingService.DeleteSecurityGroups(workerSecGroup); err != nil {
165168
return reconcile.Result{}, errors.Errorf("failed to delete security group: %v", err)
166169
}
170+
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulDeleteSecurityGroup", "Deleted security group %s with id %s", workerSecGroup.Name, workerSecGroup.ID)
167171
}
168172

169-
if openStackCluster.Status.ControlPlaneSecurityGroup != nil {
170-
log.Info("Deleting control plane security group", "name", openStackCluster.Status.ControlPlaneSecurityGroup.Name)
171-
err := networkingService.DeleteSecurityGroups(openStackCluster.Status.ControlPlaneSecurityGroup)
172-
if err != nil {
173+
if controlPlaneSecGroup := openStackCluster.Status.ControlPlaneSecurityGroup; controlPlaneSecGroup != nil {
174+
log.Info("Deleting control plane security group", "name", controlPlaneSecGroup.Name)
175+
if err = networkingService.DeleteSecurityGroups(controlPlaneSecGroup); err != nil {
173176
return reconcile.Result{}, errors.Errorf("failed to delete security group: %v", err)
174177
}
178+
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulDeleteSecurityGroup", "Deleted security group %s with id %s", controlPlaneSecGroup.Name, controlPlaneSecGroup.ID)
175179
}
176180

177-
if openStackCluster.Status.Network.Router != nil {
178-
log.Info("Deleting router", "name", openStackCluster.Status.Network.Router.Name)
179-
if err := networkingService.DeleteRouter(openStackCluster.Status.Network); err != nil {
181+
if router := openStackCluster.Status.Network.Router; router != nil {
182+
log.Info("Deleting router", "name", router.Name)
183+
if err = networkingService.DeleteRouter(openStackCluster.Status.Network); err != nil {
180184
return ctrl.Result{}, errors.Errorf("failed to delete router: %v", err)
181185
}
186+
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulDeleteRouter", "Deleted router %s with id %s", router.Name, router.ID)
182187
log.Info("OpenStack router deleted successfully")
183188
}
184189

185190
// if NodeCIDR was not set, no network was created.
186-
if openStackCluster.Status.Network != nil && openStackCluster.Spec.NodeCIDR != "" {
187-
log.Info("Deleting network", "name", openStackCluster.Status.Network.Name)
188-
if err := networkingService.DeleteNetwork(openStackCluster.Status.Network); err != nil {
191+
if network := openStackCluster.Status.Network; network != nil && openStackCluster.Spec.NodeCIDR != "" {
192+
log.Info("Deleting network", "name", network.Name)
193+
if err = networkingService.DeleteNetwork(network); err != nil {
189194
return ctrl.Result{}, errors.Errorf("failed to delete network: %v", err)
190195
}
196+
r.Recorder.Eventf(openStackCluster, corev1.EventTypeNormal, "SuccessfulDeleteNetwork", "Deleted network %s with id %s", network.Name, network.ID)
191197
log.Info("OpenStack network deleted successfully")
192198
}
193199

controllers/openstackmachine_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ func (r *OpenStackMachineReconciler) reconcileDelete(ctx context.Context, logger
234234
return ctrl.Result{}, nil
235235
}
236236
logger.Info("OpenStack machine deleted successfully")
237-
r.Recorder.Eventf(openStackMachine, corev1.EventTypeNormal, "SuccessfulTerminate", "Terminated instance %q", instance.ID)
237+
r.Recorder.Eventf(openStackMachine, corev1.EventTypeNormal, "SuccessfulDeleteServer", "Deleted server %s with id %s", instance.Name, instance.ID)
238238

239239
// Instance is deleted so remove the finalizer.
240240
controllerutil.RemoveFinalizer(openStackMachine, infrav1.MachineFinalizer)

pkg/cloud/services/loadbalancer/loadbalancer.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,7 @@ func (s *Service) ReconcileLoadBalancerMember(clusterName string, machine *clust
253253
return nil
254254
}
255255

256-
func (s *Service) DeleteLoadBalancer(clusterName string, openStackCluster *infrav1.OpenStackCluster) error {
257-
loadBalancerName := fmt.Sprintf("%s-cluster-%s-%s", networkPrefix, clusterName, kubeapiLBSuffix)
256+
func (s *Service) DeleteLoadBalancer(loadBalancerName string, openStackCluster *infrav1.OpenStackCluster) error {
258257
lb, err := checkIfLbExists(s.loadbalancerClient, loadBalancerName)
259258
if err != nil {
260259
return err

0 commit comments

Comments
 (0)