in controllers/seataserver_controller.go [241:271]
func (r *SeataServerReconciler) reconcileFinalizers(ctx context.Context, instance *seatav1alpha1.SeataServer) (err error) {
if instance.Spec.Persistence.VolumeReclaimPolicy != seatav1alpha1.VolumeReclaimPolicyDelete {
return nil
}
if instance.DeletionTimestamp.IsZero() {
if !utils.ContainsString(instance.ObjectMeta.Finalizers, utils.SeataFinalizer) {
instance.ObjectMeta.Finalizers = append(instance.ObjectMeta.Finalizers, utils.SeataFinalizer)
if err = r.Client.Update(ctx, instance); err != nil {
r.recordError(ctx, types.NamespacedName{Name: instance.Name, Namespace: instance.Namespace},
seatav1alpha1.ErrorTypeK8s_SeataServer, fmt.Sprintf("Failed to update resource SeataServer(%v) Finalizers", instance.Name), err)
return err
}
}
return r.cleanupOrphanPVCs(ctx, instance)
} else {
if utils.ContainsString(instance.ObjectMeta.Finalizers, utils.SeataFinalizer) {
if err = r.cleanUpAllPVCs(ctx, instance); err != nil {
r.recordError(ctx, types.NamespacedName{Name: instance.Name, Namespace: instance.Namespace},
seatav1alpha1.ErrorTypeK8s_SeataServer, fmt.Sprintf("Failed to delete resource SeataServer(%v) PVCs", instance.Name), err)
return err
}
instance.ObjectMeta.Finalizers = utils.RemoveString(instance.ObjectMeta.Finalizers, utils.SeataFinalizer)
if err = r.Client.Update(ctx, instance); err != nil {
r.recordError(ctx, types.NamespacedName{Name: instance.Name, Namespace: instance.Namespace},
seatav1alpha1.ErrorTypeK8s_SeataServer, fmt.Sprintf("Failed to update resource SeataServer(%v) Finalizers", instance.Name), err)
return err
}
}
}
return nil
}