diff --git a/changelogs/unreleased/3993-mahaupt b/changelogs/unreleased/3993-mahaupt new file mode 100644 index 000000000..9e0312c2b --- /dev/null +++ b/changelogs/unreleased/3993-mahaupt @@ -0,0 +1 @@ +Fix restic error when volume is emptyDir and Pod not running diff --git a/pkg/restic/backupper.go b/pkg/restic/backupper.go index 03e64f84c..cb8e8569a 100644 --- a/pkg/restic/backupper.go +++ b/pkg/restic/backupper.go @@ -157,6 +157,11 @@ func (b *backupper) BackupPodVolumes(backup *velerov1api.Backup, pod *corev1api. continue } + // emptyDir volumes on finished pods are not supported because the volume is already gone and would result in an error + if (pod.Status.Phase == corev1api.PodSucceeded || pod.Status.Phase == corev1api.PodFailed) && volume.EmptyDir != nil { + continue + } + volumeBackup := newPodVolumeBackup(backup, pod, volume, repo.Spec.ResticIdentifier, pvc) if volumeBackup, err = b.repoManager.veleroClient.VeleroV1().PodVolumeBackups(volumeBackup.Namespace).Create(context.TODO(), volumeBackup, metav1.CreateOptions{}); err != nil { errs = append(errs, err)