Failure in deleting resources should not prevent deleting the BackupConfiguration
This commit is contained in:
parent
589f8480ad
commit
906dbd7539
@ -83,6 +83,9 @@ func (r *BackupConfigurationReconciler) deleteSidecarContainer(backupConf *formo
|
|||||||
if err := r.Update(context.Background(), deployment); err != nil {
|
if err := r.Update(context.Background(), deployment); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if err := formolrbac.DeleteFormolRBAC(r.Client, deployment.Spec.Template.Spec.ServiceAccountName, deployment.Namespace); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
selector, err := metav1.LabelSelectorAsMap(deployment.Spec.Selector)
|
selector, err := metav1.LabelSelectorAsMap(deployment.Spec.Selector)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return nil
|
||||||
@ -334,7 +337,6 @@ func (r *BackupConfigurationReconciler) Reconcile(req ctrl.Request) (ctrl.Result
|
|||||||
|
|
||||||
log.V(1).Info("Enter Reconcile with req", "req", req)
|
log.V(1).Info("Enter Reconcile with req", "req", req)
|
||||||
|
|
||||||
// your logic here
|
|
||||||
backupConf := &formolv1alpha1.BackupConfiguration{}
|
backupConf := &formolv1alpha1.BackupConfiguration{}
|
||||||
if err := r.Get(ctx, req.NamespacedName, backupConf); err != nil {
|
if err := r.Get(ctx, req.NamespacedName, backupConf); err != nil {
|
||||||
return ctrl.Result{}, client.IgnoreNotFound(err)
|
return ctrl.Result{}, client.IgnoreNotFound(err)
|
||||||
@ -353,9 +355,7 @@ func (r *BackupConfigurationReconciler) Reconcile(req ctrl.Request) (ctrl.Result
|
|||||||
} else {
|
} else {
|
||||||
log.V(0).Info("backupconf being deleted", "backupconf", backupConf.Name)
|
log.V(0).Info("backupconf being deleted", "backupconf", backupConf.Name)
|
||||||
if formolutils.ContainsString(backupConf.ObjectMeta.Finalizers, finalizerName) {
|
if formolutils.ContainsString(backupConf.ObjectMeta.Finalizers, finalizerName) {
|
||||||
if err := r.deleteExternalResources(backupConf); err != nil {
|
_ = r.deleteExternalResources(backupConf)
|
||||||
return ctrl.Result{}, err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
backupConf.ObjectMeta.Finalizers = formolutils.RemoveString(backupConf.ObjectMeta.Finalizers, finalizerName)
|
backupConf.ObjectMeta.Finalizers = formolutils.RemoveString(backupConf.ObjectMeta.Finalizers, finalizerName)
|
||||||
if err := r.Update(context.Background(), backupConf); err != nil {
|
if err := r.Update(context.Background(), backupConf); err != nil {
|
||||||
@ -363,6 +363,7 @@ func (r *BackupConfigurationReconciler) Reconcile(req ctrl.Request) (ctrl.Result
|
|||||||
return ctrl.Result{}, err
|
return ctrl.Result{}, err
|
||||||
}
|
}
|
||||||
// We have been deleted. Return here
|
// We have been deleted. Return here
|
||||||
|
log.V(0).Info("backupconf deleted", "backupconf", backupConf.Name)
|
||||||
return ctrl.Result{}, nil
|
return ctrl.Result{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,7 +376,7 @@ func (r *BackupConfigurationReconciler) Reconcile(req ctrl.Request) (ctrl.Result
|
|||||||
switch target.Kind {
|
switch target.Kind {
|
||||||
case "Deployment":
|
case "Deployment":
|
||||||
if err := r.addSidecarContainer(backupConf, target); err != nil {
|
if err := r.addSidecarContainer(backupConf, target); err != nil {
|
||||||
return ctrl.Result{}, nil
|
return ctrl.Result{}, client.IgnoreNotFound(err)
|
||||||
}
|
}
|
||||||
backupConf.Status.ActiveSidecar = true
|
backupConf.Status.ActiveSidecar = true
|
||||||
case "PersistentVolumeClaim":
|
case "PersistentVolumeClaim":
|
||||||
@ -398,31 +399,12 @@ func (r *BackupConfigurationReconciler) deleteExternalResources(backupConf *form
|
|||||||
for _, target := range backupConf.Spec.Targets {
|
for _, target := range backupConf.Spec.Targets {
|
||||||
switch target.Kind {
|
switch target.Kind {
|
||||||
case "Deployment":
|
case "Deployment":
|
||||||
deployment, err := r.getDeployment(backupConf.Namespace, target.Name)
|
_ = r.deleteSidecarContainer(backupConf, target)
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := formolrbac.DeleteFormolRBAC(r.Client, deployment.Spec.Template.Spec.ServiceAccountName, deployment.Namespace); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := formolrbac.DeleteBackupSessionCreatorRBAC(r.Client, backupConf.Namespace); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := r.deleteSidecarContainer(backupConf, target); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO: remove the hardcoded "default"
|
// TODO: remove the hardcoded "default"
|
||||||
if err := formolrbac.DeleteFormolRBAC(r.Client, "default", backupConf.Namespace); err != nil {
|
_ = formolrbac.DeleteFormolRBAC(r.Client, "default", backupConf.Namespace)
|
||||||
return err
|
_ = formolrbac.DeleteBackupSessionCreatorRBAC(r.Client, backupConf.Namespace)
|
||||||
}
|
|
||||||
if err := formolrbac.DeleteBackupSessionStatusUpdaterRBAC(r.Client, "default", backupConf.Namespace); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := formolrbac.DeleteBackupSessionCreatorRBAC(r.Client, backupConf.Namespace); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user