From 768a30618f37a91c8c98283e4c30e051565540c8 Mon Sep 17 00:00:00 2001 From: bynare <1852531+bynare@users.noreply.github.com> Date: Wed, 16 Feb 2022 10:34:58 +1300 Subject: [PATCH 1/3] restic backupper: ignore volumes of non-running pods (#4584) --- changelogs/unreleased/4584-bynare | 1 + pkg/restic/backupper.go | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 changelogs/unreleased/4584-bynare diff --git a/changelogs/unreleased/4584-bynare b/changelogs/unreleased/4584-bynare new file mode 100644 index 000000000..008c138c4 --- /dev/null +++ b/changelogs/unreleased/4584-bynare @@ -0,0 +1 @@ +Skip volumes of non-running pods when backing up diff --git a/pkg/restic/backupper.go b/pkg/restic/backupper.go index 4e411c62d..fd366a36b 100644 --- a/pkg/restic/backupper.go +++ b/pkg/restic/backupper.go @@ -153,6 +153,11 @@ func (b *backupper) BackupPodVolumes(backup *velerov1api.Backup, pod *corev1api. } } + // ignore non-running pods + if pod.Status.Phase != corev1api.PodRunning { + log.Warnf("Skipping volume %s in pod %s/%s - pod not running", volumeName, pod.Namespace, pod.Name) + continue + } // hostPath volumes are not supported because they're not mounted into /var/lib/kubelet/pods, so our // daemonset pod has no way to access their data. isHostPath, err := isHostPathVolume(&volume, pvc, b.pvClient.PersistentVolumes()) @@ -165,11 +170,6 @@ 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 - } - // volumes that are not mounted by any container should not be backed up, because // its directory is not created if !mountedPodVolumes.Has(volumeName) { From b7b339b9c93416cc094141bf408b0f6cf647e71d Mon Sep 17 00:00:00 2001 From: Daniel Jiang Date: Wed, 16 Feb 2022 05:37:21 +0800 Subject: [PATCH 2/3] Add more exempt labels for stalebot (#4641) --- .github/stale.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/stale.yml b/.github/stale.yml index 4c2adae9b..ce96631aa 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -14,9 +14,15 @@ exemptLabels: - Area/Design - Area/Documentation - Area/Plugins + - Bug - Enhancement/User + - kind/requirement + - kind/refactor - kind/tech-debt + - limitation - Needs investigation + - Needs triage + - Needs Product - P0 - Hair on fire - P1 - Important - P2 - Long-term important From 926f40170da3e4c64476b8602331774acd4dbfa1 Mon Sep 17 00:00:00 2001 From: "David L. Smith-Uchida" Date: Wed, 16 Feb 2022 10:30:11 -0800 Subject: [PATCH 3/3] Updates to 1.8 changelog Signed-off-by: David L. Smith-Uchida --- changelogs/CHANGELOG-1.8.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changelogs/CHANGELOG-1.8.md b/changelogs/CHANGELOG-1.8.md index 94e94a687..f4635ef1c 100644 --- a/changelogs/CHANGELOG-1.8.md +++ b/changelogs/CHANGELOG-1.8.md @@ -29,6 +29,11 @@ For the version of the plugins and the CSI drivers they support respectively ple #### Break change Starting v1.8 velero will only support v1 CRD, therefore, it will only run on Kubernetes v1.16+ +#### Upload Progress Monitoring and Item Snapshotter +Item Snapshotter plugin API was merged. This will support both Upload Progress +monitoring and the planned Data Mover. Upload Progress monitoring PRs are +in progress for 1.9. + ### All changes * E2E test on ssr object with controller namespace mix-ups (#4521, @mqiu)