From 6522ba7c42f89aab6ab198e1d721ff5bcb546750 Mon Sep 17 00:00:00 2001 From: Steve Kriss Date: Tue, 6 Aug 2019 09:05:54 -0600 Subject: [PATCH] fix bugs preventing pod volume backups from syncing properly Signed-off-by: Steve Kriss --- pkg/controller/backup_sync_controller.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/controller/backup_sync_controller.go b/pkg/controller/backup_sync_controller.go index a84a10e29..5e999d435 100644 --- a/pkg/controller/backup_sync_controller.go +++ b/pkg/controller/backup_sync_controller.go @@ -232,7 +232,7 @@ func (c *backupSyncController) run() { // process the pod volume backups from object store, if any podVolumeBackups, err := backupStore.GetPodVolumeBackups(backupName) if err != nil { - log.WithError(errors.WithStack(err)).Error("Error getting pod volumes for this backup from backup store") + log.WithError(errors.WithStack(err)).Error("Error getting pod volume backups for this backup from backup store") continue } @@ -240,9 +240,10 @@ func (c *backupSyncController) run() { log = log.WithField("podVolumeBackup", podVolumeBackup.Name) log.Debug("Checking this pod volume backup to see if it needs to be synced into the cluster") - for _, or := range podVolumeBackup.ObjectMeta.OwnerReferences { - if or.Name == backup.Name { - or.UID = backup.UID + for i, ownerRef := range podVolumeBackup.OwnerReferences { + if ownerRef.APIVersion == velerov1api.SchemeGroupVersion.String() && ownerRef.Kind == "Backup" && ownerRef.Name == backup.Name { + log.WithField("uid", backup.UID).Debugf("Updating pod volume backup's owner reference UID") + podVolumeBackup.OwnerReferences[i].UID = backup.UID } } @@ -250,6 +251,8 @@ func (c *backupSyncController) run() { podVolumeBackup.Labels[velerov1api.BackupUIDLabel] = string(backup.UID) } + podVolumeBackup.ResourceVersion = "" + _, err = c.podVolumeBackupClient.PodVolumeBackups(backup.Namespace).Create(podVolumeBackup) switch { case err != nil && kuberrs.IsAlreadyExists(err):