diff --git a/pkg/controller/backup_repository_controller.go b/pkg/controller/backup_repository_controller.go index f5f49297f..fe59529d4 100644 --- a/pkg/controller/backup_repository_controller.go +++ b/pkg/controller/backup_repository_controller.go @@ -65,13 +65,13 @@ type BackupRepoReconciler struct { repositoryManager repomanager.Manager keepLatestMaintenanceJobs int repoMaintenanceConfig string - podResources kube.PodResources + maintenanceJobResources kube.PodResources logLevel logrus.Level logFormat *logging.FormatFlag } func NewBackupRepoReconciler(namespace string, logger logrus.FieldLogger, client client.Client, repositoryManager repomanager.Manager, - maintenanceFrequency time.Duration, backupRepoConfig string, keepLatestMaintenanceJobs int, repoMaintenanceConfig string, podResources kube.PodResources, + maintenanceFrequency time.Duration, backupRepoConfig string, keepLatestMaintenanceJobs int, repoMaintenanceConfig string, maintenanceJobResources kube.PodResources, logLevel logrus.Level, logFormat *logging.FormatFlag) *BackupRepoReconciler { c := &BackupRepoReconciler{ client, @@ -83,7 +83,7 @@ func NewBackupRepoReconciler(namespace string, logger logrus.FieldLogger, client repositoryManager, keepLatestMaintenanceJobs, repoMaintenanceConfig, - podResources, + maintenanceJobResources, logLevel, logFormat, } @@ -427,7 +427,7 @@ func (r *BackupRepoReconciler) runMaintenanceIfDue(ctx context.Context, req *vel log.Info("Running maintenance on backup repository") - job, err := funcStartMaintenanceJob(r.Client, ctx, req, r.repoMaintenanceConfig, r.podResources, r.logLevel, r.logFormat, log) + job, err := funcStartMaintenanceJob(r.Client, ctx, req, r.repoMaintenanceConfig, r.maintenanceJobResources, r.logLevel, r.logFormat, log) if err != nil { log.WithError(err).Warn("Starting repo maintenance failed") return r.patchBackupRepository(ctx, req, func(rr *velerov1api.BackupRepository) { diff --git a/pkg/repository/maintenance/maintenance.go b/pkg/repository/maintenance/maintenance.go index 807a4113c..b854046ba 100644 --- a/pkg/repository/maintenance/maintenance.go +++ b/pkg/repository/maintenance/maintenance.go @@ -284,7 +284,7 @@ func WaitAllJobsComplete(ctx context.Context, cli client.Client, repo *velerov1a history := []velerov1api.BackupRepositoryMaintenanceStatus{} - startPos := len(history) - limit + startPos := len(jobList.Items) - limit if startPos < 0 { startPos = 0 } diff --git a/pkg/repository/maintenance/maintenance_test.go b/pkg/repository/maintenance/maintenance_test.go index 1854aa0f9..e4335a61f 100644 --- a/pkg/repository/maintenance/maintenance_test.go +++ b/pkg/repository/maintenance/maintenance_test.go @@ -444,7 +444,7 @@ func TestGetJobConfig(t *testing.T) { } } -func TestWaitAlJobsComplete(t *testing.T) { +func TestWaitAllJobsComplete(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), time.Second*2) veleroNamespace := "velero" @@ -680,11 +680,6 @@ func TestWaitAlJobsComplete(t *testing.T) { jobPodSucceeded3, }, expectedStatus: []velerov1api.BackupRepositoryMaintenanceStatus{ - { - Result: velerov1api.BackupRepositoryMaintenanceSucceeded, - StartTimestamp: &metav1.Time{Time: now}, - CompleteTimestamp: &metav1.Time{Time: now.Add(time.Hour)}, - }, { Result: velerov1api.BackupRepositoryMaintenanceFailed, StartTimestamp: &metav1.Time{Time: now.Add(time.Hour)},