mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-08-18 21:26:08 +00:00
@@ -172,8 +172,6 @@ func (c *backupController) processBackup(key string) error {
|
||||
return errors.Wrap(err, "error getting backup")
|
||||
}
|
||||
|
||||
fmt.Println("original name is.....---- ", original.Name)
|
||||
|
||||
// Double-check we have the correct phase. In the unlikely event that multiple controller
|
||||
// instances are running, it's possible for controller A to succeed in changing the phase to
|
||||
// InProgress, while controller B's attempt to patch the phase fails. When controller B
|
||||
@@ -199,9 +197,6 @@ func (c *backupController) processBackup(key string) error {
|
||||
request.Status.StartTimestamp.Time = c.clock.Now()
|
||||
}
|
||||
|
||||
fmt.Println("request.Backup.Name name is.....---- ", request.Backup.Name)
|
||||
fmt.Println("original name is.....---- ", original.Name)
|
||||
|
||||
// update status
|
||||
updatedBackup, err := patchBackup(original, request.Backup, c.client)
|
||||
if err != nil {
|
||||
@@ -417,8 +412,6 @@ func (c *backupController) validateAndGetSnapshotLocations(backup *velerov1api.B
|
||||
}
|
||||
|
||||
func (c *backupController) runBackup(backup *pkgbackup.Request) error {
|
||||
fmt.Println("runbackup name is.....---- ", backup.Name)
|
||||
|
||||
log := c.logger.WithField("backup", kubeutil.NamespaceAndName(backup))
|
||||
log.Info("Starting backup")
|
||||
|
||||
@@ -459,15 +452,18 @@ func (c *backupController) runBackup(backup *pkgbackup.Request) error {
|
||||
return err
|
||||
}
|
||||
|
||||
var errs []error
|
||||
errs = append(errs, validateUniqueness(backupStore, backup.StorageLocation.Spec.StorageType.ObjectStorage.Bucket, backup.Name)...)
|
||||
if len(errs) > 0 {
|
||||
exists, err := backupStore.BackupExists(backup.StorageLocation.Spec.StorageType.ObjectStorage.Bucket, backup.Name)
|
||||
if exists || err != nil {
|
||||
backup.Status.Phase = velerov1api.BackupPhaseFailed
|
||||
backup.Status.CompletionTimestamp.Time = c.clock.Now()
|
||||
return kerrors.NewAggregate(errs)
|
||||
if err != nil {
|
||||
return errors.Errorf("Error checking if backup already exists in object storage: %v", err)
|
||||
}
|
||||
return errors.Errorf("Backup already exists in object storage")
|
||||
}
|
||||
|
||||
// Do the actual backup
|
||||
var errs []error
|
||||
if err := c.backupper.Backup(log, backup, backupFile, actions, pluginManager); err != nil {
|
||||
errs = append(errs, err)
|
||||
backup.Status.Phase = velerov1api.BackupPhaseFailed
|
||||
@@ -498,18 +494,6 @@ func (c *backupController) runBackup(backup *pkgbackup.Request) error {
|
||||
return kerrors.NewAggregate(errs)
|
||||
}
|
||||
|
||||
func validateUniqueness(backupStore persistence.BackupStore, bucket, name string) []error {
|
||||
var errs []error
|
||||
exists, err := backupStore.BackupExists(bucket, name)
|
||||
if err != nil {
|
||||
errs = append(errs, errors.Errorf("Error checking if backup already exists in object storage: %v", err))
|
||||
}
|
||||
if exists {
|
||||
errs = append(errs, errors.Errorf("Backup already exists in object storage"))
|
||||
}
|
||||
return errs
|
||||
}
|
||||
|
||||
func recordBackupMetrics(backup *velerov1api.Backup, backupFile *os.File, serverMetrics *metrics.ServerMetrics) error {
|
||||
backupScheduleName := backup.GetLabels()[velerov1api.ScheduleNameLabel]
|
||||
|
||||
|
||||
@@ -56,14 +56,12 @@ func (b *fakeBackupper) Backup(logger logrus.FieldLogger, backup *pkgbackup.Requ
|
||||
return args.Error(0)
|
||||
}
|
||||
|
||||
func TestProcessBackupProcessing(t *testing.T) {
|
||||
func TestProcessBackupNonProcessedItems(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
key string
|
||||
backup *v1.Backup
|
||||
expectedErr string
|
||||
name string
|
||||
key string
|
||||
backup *v1.Backup
|
||||
}{
|
||||
// processed successfully
|
||||
{
|
||||
name: "bad key does not return error",
|
||||
key: "bad/key/here",
|
||||
@@ -72,8 +70,6 @@ func TestProcessBackupProcessing(t *testing.T) {
|
||||
name: "backup not found in lister does not return error",
|
||||
key: "nonexistent/backup",
|
||||
},
|
||||
|
||||
// skipped
|
||||
{
|
||||
name: "FailedValidation backup is not processed",
|
||||
key: "velero/backup-1",
|
||||
@@ -113,12 +109,7 @@ func TestProcessBackupProcessing(t *testing.T) {
|
||||
}
|
||||
|
||||
err := c.processBackup(test.key)
|
||||
if test.expectedErr != "" {
|
||||
require.Error(t, err)
|
||||
assert.Equal(t, test.expectedErr, err.Error())
|
||||
} else {
|
||||
assert.Nil(t, err)
|
||||
}
|
||||
assert.Nil(t, err)
|
||||
|
||||
// Any backup that would actually proceed to validation will cause a segfault because this
|
||||
// test hasn't set up the necessary controller dependencies for validation/etc. So the lack
|
||||
@@ -345,7 +336,7 @@ func TestProcessBackupCompletions(t *testing.T) {
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "backup with existing backup will fail",
|
||||
name: "backup without an existing backup will succeed",
|
||||
backupExists: false,
|
||||
backup: velerotest.NewTestBackup().WithName("backup-1").Backup,
|
||||
backupLocation: defaultBackupLocation,
|
||||
@@ -488,8 +479,6 @@ func TestProcessBackupCompletions(t *testing.T) {
|
||||
res, err := clientset.VeleroV1().Backups(test.backup.Namespace).Get(test.backup.Name, metav1.GetOptions{})
|
||||
require.NoError(t, err)
|
||||
|
||||
// failed tests for failed backup should have a phase of failed
|
||||
|
||||
assert.Equal(t, test.expectedResult, res)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user