VolumeSnapshot will be deleted by the Job

This commit is contained in:
Jean-Marc ANDRE 2023-04-14 20:46:25 +02:00
parent 9a49ac96c4
commit 1de6a31e25
3 changed files with 6 additions and 13 deletions

View File

@ -127,8 +127,6 @@ func (r *BackupSessionReconciler) Reconcile(ctx context.Context, req ctrl.Reques
default:
r.Log.Error(err, "unable to do snapshot backup")
// TODO: cleanup existing snapshots
r.deleteVolumeSnapshots(target)
newSessionState = formolv1alpha1.Failure
}
}
}

View File

@ -95,10 +95,9 @@ func (r *BackupSessionReconciler) backupSnapshot(target formolv1alpha1.Target) e
// sidecar := formolv1alpha1.GetSidecar(backupConf, target)
_, vms := formolv1alpha1.GetVolumeMounts(container, targetContainer)
if err := r.snapshotVolumes(vms, targetPodSpec); err != nil {
switch err.(type) {
case *NotReadyToUseError:
if IsNotReadyToUse(err) {
r.Log.V(0).Info("Some volumes are still not ready to use")
default:
} else {
r.Log.Error(err, "cannot snapshot the volumes")
return err
}
@ -225,7 +224,7 @@ func (r *BackupSessionReconciler) createVolumeFromSnapshot(vs *volumesnapshotv1.
Spec: corev1.PersistentVolumeClaimSpec{
StorageClassName: &pv.Spec.StorageClassName,
//AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadOnlyMany},
AccessModes: pv.Spec.AccessModes,
AccessModes: pv.Spec.AccessModes,
DataSource: &corev1.TypedLocalObjectReference{
APIGroup: func() *string { s := "snapshot.storage.k8s.io"; return &s }(),
Kind: "VolumeSnapshot",
@ -264,11 +263,11 @@ func (r *BackupSessionReconciler) snapshotVolumes(vms []corev1.VolumeMount, podS
backupPVCName, err := r.createVolumeFromSnapshot(vs)
if err != nil {
r.Log.Error(err, "unable to create volume from snapshot", "vs", vs)
return
return err
}
podSpec.Volumes[i].VolumeSource.PersistentVolumeClaim = &corev1.PersistentVolumeClaimVolumeSource{
ClaimName: backupPVCName,
ReadOnly: true,
ReadOnly: true,
}
// The snapshot and the volume will be deleted by the Job when the backup is over
}
@ -277,7 +276,3 @@ func (r *BackupSessionReconciler) snapshotVolumes(vms []corev1.VolumeMount, podS
}
return
}
func (r *BackupSessionReconciler) deleteVolumeSnapshots(target formolv1alpha1.Target) error {
return nil
}

2
formol

@ -1 +1 @@
Subproject commit 61f45a79404e1f71d9f7661d295d6ac3cd07dd8c
Subproject commit 8975f77e5858ee167508ef0359c3b9d6cbaba6ee