diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..3dd792052 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: "gomod" + directory: "/" + schedule: + interval: "daily" + open-pull-requests-limit: 0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 759e0a614..e5abe60e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,10 +19,10 @@ jobs: name: Build runs-on: ubuntu-24.04 steps: - - name: Set up Go 1.25 + - name: Set up Go 1.27 uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5.6.0 with: - go-version: '1.25' + go-version: '1.27' id: go - name: Check out code into the Go module directory @@ -32,7 +32,7 @@ jobs: - name: Prepare Host run: | - curl -LO https://dl.k8s.io/release/v1.32.1/bin/linux/amd64/kubectl + curl -LO https://dl.k8s.io/release/v1.37.0/bin/linux/amd64/kubectl chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin/kubectl diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index ae79e5fee..0af56a4ad 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -16,10 +16,10 @@ jobs: name: Build runs-on: ubuntu-24.04 steps: - - name: Set up Go 1.25 + - name: Set up Go 1.27 uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5.6.0 with: - go-version: '1.25' + go-version: '1.27' id: go - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 diff --git a/Dockerfile.dbg b/Dockerfile.dbg index b3b381629..9453f0911 100644 --- a/Dockerfile.dbg +++ b/Dockerfile.dbg @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM debian:12 +FROM debian:13 ENV DEBIAN_FRONTEND noninteractive ENV DEBCONF_NONINTERACTIVE_SEEN true diff --git a/Makefile b/Makefile index 319768c11..5891f8142 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,7 @@ OS := $(if $(GOOS),$(GOOS),$(shell go env GOOS)) ARCH := $(if $(GOARCH),$(GOARCH),$(shell go env GOARCH)) BASEIMAGE_PROD ?= busybox:latest -BASEIMAGE_DBG ?= debian:12 +BASEIMAGE_DBG ?= debian:13 IMAGE := $(REGISTRY)/$(BIN) VERSION_PROD := $(VERSION) @@ -72,7 +72,7 @@ TAG := $(VERSION)_$(OS)_$(ARCH) TAG_PROD := $(TAG) TAG_DBG := $(VERSION)-dbg_$(OS)_$(ARCH) -GO_VERSION ?= 1.25 +GO_VERSION ?= 1.27 BUILD_IMAGE ?= ghcr.io/appscode/golang-dev:$(GO_VERSION) TEST_IMAGE ?= ghcr.io/appscode/golang-dev:$(GO_VERSION)-stash diff --git a/pkg/cmds/restore.go b/pkg/cmds/restore.go index edac45dc0..70f2ec8e5 100644 --- a/pkg/cmds/restore.go +++ b/pkg/cmds/restore.go @@ -88,7 +88,8 @@ func NewCmdRestore() *cobra.Command { err := opt.Restore(inv, targetInfo) if err != nil { - klog.Errorf("Failed to complete restore process for %s %s/%s. Reason: %v", + klog.Errorf( + "Failed to complete restore process for %s %s/%s. Reason: %v", inv.GetTypeMeta().Kind, inv.GetObjectMeta().Namespace, inv.GetObjectMeta().Name, @@ -96,7 +97,8 @@ func NewCmdRestore() *cobra.Command { ) return err } - klog.Infof("Restore completed successfully for %s %s/%s", + klog.Infof( + "Restore completed successfully for %s %s/%s", inv.GetTypeMeta().Kind, inv.GetObjectMeta().Namespace, inv.GetObjectMeta().Name, diff --git a/pkg/cmds/run_hook.go b/pkg/cmds/run_hook.go index 382a6af28..8d719efa5 100644 --- a/pkg/cmds/run_hook.go +++ b/pkg/cmds/run_hook.go @@ -126,7 +126,8 @@ func (opt *hookOptions) executeBackupHook() error { targetInfo := opt.getBackupTargetInfo(inv) if targetInfo == nil { - return fmt.Errorf("backup target %s/%s did not matched with any target of the %s %s/%s", + return fmt.Errorf( + "backup target %s/%s did not matched with any target of the %s %s/%s", opt.targetRef.Kind, opt.targetRef.Name, opt.invokerKind, @@ -181,7 +182,8 @@ func (opt *hookOptions) executeRestoreHook() error { targetInfo := opt.getRestoreTargetInfo(inv) if targetInfo == nil { - return fmt.Errorf("restore target %s/%s did not matched with any target of the %s %s/%s", + return fmt.Errorf( + "restore target %s/%s did not matched with any target of the %s %s/%s", opt.targetRef.Kind, opt.targetRef.Name, opt.invokerKind, diff --git a/pkg/controller/backup_configuration.go b/pkg/controller/backup_configuration.go index 1e9c279fa..bb4e3f777 100644 --- a/pkg/controller/backup_configuration.go +++ b/pkg/controller/backup_configuration.go @@ -134,14 +134,16 @@ func (c *StashController) runBackupConfigurationProcessor(v any) error { key := v.(string) obj, exists, err := c.bcInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, api_v1beta1.ResourceKindBackupConfiguration, apis.ObjectKey, key, ) return err } if !exists { - klog.V(4).InfoS("Object does not exit anymore", + klog.V(4).InfoS( + "Object does not exit anymore", apis.ObjectKind, api_v1beta1.ResourceKindBackupConfiguration, apis.ObjectKey, key, ) @@ -205,7 +207,8 @@ func (r *backupInvokerReconciler) reconcile() error { tref := targetInfo.Target.Ref targetExist, err := util.IsTargetExist(r.ctrl.clientConfig, tref) if err != nil { - r.logger.Error(err, "Failed to check target existence", + r.logger.Error( + err, "Failed to check target existence", apis.KeyTargetKind, tref.Kind, apis.KeyTargetName, tref.Name, apis.KeyTargetNamespace, tref.Namespace, @@ -216,7 +219,8 @@ func (r *backupInvokerReconciler) reconcile() error { if !targetExist { // Target does not exist. Log the information. someTargetMissing = true - r.logger.Info("Backup target does not exist.", + r.logger.Info( + "Backup target does not exist.", apis.KeyTargetKind, tref.Kind, apis.KeyTargetName, tref.Name, apis.KeyTargetNamespace, tref.Namespace, @@ -337,7 +341,8 @@ func (r *backupInvokerReconciler) handleCronJobCreationFailure(invRef *core.Obje invRef, core.EventTypeWarning, eventer.EventReasonCronJobCreationFailed, - fmt.Sprintf("failed to ensure CronJob for %s %s/%s. Reason: %v", invRef.Kind, invRef.Namespace, invRef.Name, err)) + fmt.Sprintf("failed to ensure CronJob for %s %s/%s. Reason: %v", invRef.Kind, invRef.Namespace, invRef.Name, err), + ) return errors.NewAggregate([]error{err, err2}) } @@ -353,7 +358,8 @@ func (c *StashController) handleWorkloadControllerTriggerFailure(logger klog.Log eventSource = eventer.EventSourceRestoreSessionController } - logger.Error(err, "Failed to trigger workload controller", + logger.Error( + err, "Failed to trigger workload controller", apis.KeyTargetKind, tref.Kind, apis.KeyTargetName, tref.Name, apis.KeyTargetNamespace, tref.Namespace, @@ -377,7 +383,8 @@ func (r *backupInvokerReconciler) requeue() error { case api_v1beta1.ResourceKindBackupConfiguration: r.ctrl.bcQueue.GetQueue().AddAfter(r.key, requeueTimeInterval) default: - return fmt.Errorf("unable to requeue. Reason: Backup invoker %s %s is not supported", + return fmt.Errorf( + "unable to requeue. Reason: Backup invoker %s %s is not supported", r.invoker.GetTypeMeta().APIVersion, r.invoker.GetTypeMeta().Kind, ) @@ -436,7 +443,8 @@ func (c *StashController) checkForResticSnapshotterRequirements(logger klog.Logg } if repository == nil { - logger.Info("Repository does not exist", + logger.Info( + "Repository does not exist", apis.KeyRepositoryName, r.GetRepoRef().Name, apis.KeyRepositoryNamespace, r.GetRepoRef().Namespace, ) @@ -448,7 +456,8 @@ func (c *StashController) checkForResticSnapshotterRequirements(logger klog.Logg return false, err } if secret == nil { - klog.InfoS("Secret does not exist", + klog.InfoS( + "Secret does not exist", "secret_name", repository.Spec.Backend.StorageSecretName, "secret_namespace", repository.Namespace, apis.KeyRepositoryName, repository.Name, diff --git a/pkg/controller/backup_session.go b/pkg/controller/backup_session.go index 47d5adb81..a6b0ed76b 100644 --- a/pkg/controller/backup_session.go +++ b/pkg/controller/backup_session.go @@ -103,14 +103,16 @@ func (c *StashController) processBackupSessionEvent(v any) error { key := v.(string) obj, exists, err := c.backupSessionInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, api_v1beta1.ResourceKindBackupSession, apis.ObjectKey, key, ) return err } if !exists { - klog.V(4).InfoS("Object does not exist anymore", + klog.V(4).InfoS( + "Object does not exist anymore", apis.ObjectKind, api_v1beta1.ResourceKindBackupSession, apis.ObjectKey, key, ) @@ -153,7 +155,8 @@ func (r *backupSessionReconciler) reconcile() error { return r.requeueAfterRetryDelay() } - r.logger.V(4).Info("Skipping processing event", + r.logger.V(4).Info( + "Skipping processing event", apis.KeyReason, fmt.Sprintf("Backup has been completed already with phase %q", r.session.GetStatus().Phase), ) return nil @@ -161,7 +164,8 @@ func (r *backupSessionReconciler) reconcile() error { if r.isSessionCompleted() { if r.shouldWaitForTargetPostBackupHookExecution() { - r.logger.Info("Waiting for target specific postBackup hook to be executed", + r.logger.Info( + "Waiting for target specific postBackup hook to be executed", apis.KeyInvokerKind, r.invoker.GetTypeMeta().Kind, apis.KeyInvokerName, r.invoker.GetObjectMeta().Name, apis.KeyInvokerNamespace, r.invoker.GetObjectMeta().Namespace, @@ -245,7 +249,8 @@ func (r *backupSessionReconciler) reconcile() error { return err } if pendingReason != "" { - r.logger.Info("Keeping backup pending", + r.logger.Info( + "Keeping backup pending", apis.KeyReason, pendingReason, apis.KeyTargetKind, targetInfo.Target.Ref.Kind, apis.KeyTargetName, targetInfo.Target.Ref.Name, @@ -259,7 +264,8 @@ func (r *backupSessionReconciler) reconcile() error { } if err := r.ensureBackupExecutor(targetInfo, i); err != nil { - r.logger.Error(err, "Failed to ensure backup executor", + r.logger.Error( + err, "Failed to ensure backup executor", apis.KeyTargetKind, targetInfo.Target.Ref.Kind, apis.KeyTargetName, targetInfo.Target.Ref.Name, apis.KeyTargetNamespace, targetInfo.Target.Ref.Namespace, @@ -383,7 +389,8 @@ func (r *backupSessionReconciler) ensureBackupExecutor(targetInfo invoker.Backup return err } if verb != kutil.VerbUnchanged { - r.logger.Info("Successfully ensured backup executor", + r.logger.Info( + "Successfully ensured backup executor", apis.KeyTargetKind, targetInfo.Target.Ref.Kind, apis.KeyTargetName, targetInfo.Target.Ref.Name, apis.KeyTargetNamespace, targetInfo.Target.Ref.Namespace, @@ -523,7 +530,8 @@ func (r *backupSessionReconciler) initiateTargetBackup(index int) error { } } if r.session.GetStatus().Phase != api_v1beta1.BackupSessionRunning { - r.logger.Info("Initiating target backup", + r.logger.Info( + "Initiating target backup", apis.KeyTargetKind, target.Ref.Kind, apis.KeyTargetName, target.Ref.Name, apis.KeyTargetNamespace, target.Ref.Namespace, @@ -681,7 +689,8 @@ func (r *backupSessionReconciler) executeGlobalPostBackupHook() error { } if !stashHooks.IsAllowedByExecutionPolicy(executionPolicy, summary) { - reason := fmt.Sprintf("Skipping executing %s. Reason: executionPolicy is %q but phase is %q.", + reason := fmt.Sprintf( + "Skipping executing %s. Reason: executionPolicy is %q but phase is %q.", apis.PostBackupHook, executionPolicy, summary.Status.Phase, @@ -724,7 +733,8 @@ func (r *backupSessionReconciler) executeGlobalPreBackupHook() error { func (r *backupSessionReconciler) checkIfBackupShouldBeSkipped() (string, error) { // Skip if the respective backup invoker is not in ready state if r.invoker.GetPhase() != api_v1beta1.BackupInvokerReady { - return fmt.Sprintf("Skipped taking backup. Reason: %s %s/%s is not ready.", + return fmt.Sprintf( + "Skipped taking backup. Reason: %s %s/%s is not ready.", r.invoker.GetTypeMeta().Kind, r.invoker.GetObjectMeta().Namespace, r.invoker.GetObjectMeta().Name, @@ -737,7 +747,8 @@ func (r *backupSessionReconciler) checkIfBackupShouldBeSkipped() (string, error) return "", err } if r.isBackupPending() && runningBS != nil { - return fmt.Sprintf("Skipped taking new backup. Reason: Previous BackupSession: %s is %q.", + return fmt.Sprintf( + "Skipped taking new backup. Reason: Previous BackupSession: %s is %q.", runningBS.Name, runningBS.Status.Phase, ), nil @@ -769,7 +780,8 @@ func (r *backupSessionReconciler) checkIfBackupShouldBePending(targetRef api_v1b } if shouldKeepCurrentSessionPending(r.session.GetBackupSession(), otherSession) { - return fmt.Sprintf("Found another incomplete BackupSession %s/%s invoked by %s/%s", + return fmt.Sprintf( + "Found another incomplete BackupSession %s/%s invoked by %s/%s", otherSession.Namespace, otherSession.Name, otherSession.Spec.Invoker.Kind, diff --git a/pkg/controller/config.go b/pkg/controller/config.go index 2fe082ab2..1f85d269d 100644 --- a/pkg/controller/config.go +++ b/pkg/controller/config.go @@ -89,7 +89,8 @@ func (c Config) LicenseProvided() bool { ok, _ := discovery.HasGVK( c.KubeClient.Discovery(), proxyserver.SchemeGroupVersion.String(), - proxyserver.ResourceKindLicenseRequest) + proxyserver.ResourceKindLicenseRequest, + ) return ok } diff --git a/pkg/controller/daemonsets.go b/pkg/controller/daemonsets.go index 7452966f1..20904288a 100644 --- a/pkg/controller/daemonsets.go +++ b/pkg/controller/daemonsets.go @@ -93,7 +93,8 @@ func (c *StashController) processDaemonSetEvent(v any) error { key := v.(string) obj, exists, err := c.dsInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, apis.KindDaemonSet, apis.ObjectKey, key, ) @@ -101,7 +102,8 @@ func (c *StashController) processDaemonSetEvent(v any) error { } if !exists { - klog.V(4).InfoS("Object doesn't exist anymore", + klog.V(4).InfoS( + "Object doesn't exist anymore", apis.ObjectKind, apis.KindDaemonSet, apis.ObjectKey, key, ) diff --git a/pkg/controller/deployment.go b/pkg/controller/deployment.go index 08c4361a6..38a53d39c 100644 --- a/pkg/controller/deployment.go +++ b/pkg/controller/deployment.go @@ -90,7 +90,8 @@ func (c *StashController) processDeploymentEvent(v any) error { key := v.(string) obj, exists, err := c.dpInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, apis.KindDeployment, apis.ObjectKey, key, ) @@ -98,7 +99,8 @@ func (c *StashController) processDeploymentEvent(v any) error { } if !exists { - klog.V(4).InfoS("Object doesn't exist anymore", + klog.V(4).InfoS( + "Object doesn't exist anymore", apis.ObjectKind, apis.KindDeployment, apis.ObjectKey, key, ) diff --git a/pkg/controller/deploymentconfiguration.go b/pkg/controller/deploymentconfiguration.go index 2fde99615..ddc62e6bb 100644 --- a/pkg/controller/deploymentconfiguration.go +++ b/pkg/controller/deploymentconfiguration.go @@ -98,7 +98,8 @@ func (c *StashController) processDeploymentConfigEvent(v any) error { key := v.(string) obj, exists, err := c.dcInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, apis.KindDeploymentConfig, apis.ObjectKey, key, ) @@ -106,7 +107,8 @@ func (c *StashController) processDeploymentConfigEvent(v any) error { } if !exists { - klog.V(4).InfoS("Object doesn't exist anymore", + klog.V(4).InfoS( + "Object doesn't exist anymore", apis.ObjectKind, apis.KindDeploymentConfig, apis.ObjectKey, key, ) diff --git a/pkg/controller/jobs.go b/pkg/controller/jobs.go index 1c19c25f4..4379a3d2a 100644 --- a/pkg/controller/jobs.go +++ b/pkg/controller/jobs.go @@ -58,14 +58,16 @@ func (c *StashController) runJobInjector(v any) error { key := v.(string) obj, exists, err := c.jobInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, apis.KindJob, apis.ObjectKey, key, ) return err } if !exists { - klog.InfoS("Object doesn't exist anymore", + klog.InfoS( + "Object doesn't exist anymore", apis.ObjectKind, apis.KindJob, apis.ObjectKey, key, ) diff --git a/pkg/controller/repository.go b/pkg/controller/repository.go index f90bfe38f..c8a98f3f1 100644 --- a/pkg/controller/repository.go +++ b/pkg/controller/repository.go @@ -85,7 +85,8 @@ func (c *StashController) runRepositoryReconciler(v any) error { key := v.(string) obj, exist, err := c.repoInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, api_v1alpha1.ResourceKindRepository, apis.ObjectKey, key, ) @@ -93,7 +94,8 @@ func (c *StashController) runRepositoryReconciler(v any) error { } if !exist { - klog.V(4).InfoS("Object doesn't exist anymore", + klog.V(4).InfoS( + "Object doesn't exist anymore", apis.ObjectKind, api_v1alpha1.ResourceKindRepository, apis.ObjectKey, key, ) diff --git a/pkg/controller/restore_session.go b/pkg/controller/restore_session.go index 9167b15d7..83d20c60c 100644 --- a/pkg/controller/restore_session.go +++ b/pkg/controller/restore_session.go @@ -141,14 +141,16 @@ func (c *StashController) processRestoreSessionEvent(v any) error { key := v.(string) obj, exists, err := c.restoreSessionInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, api_v1beta1.ResourceKindRestoreSession, apis.ObjectKey, key, ) return err } if !exists { - klog.V(4).InfoS("Object does not exit anymore", + klog.V(4).InfoS( + "Object does not exit anymore", apis.ObjectKind, api_v1beta1.ResourceKindRestoreSession, apis.ObjectKey, key, ) @@ -206,7 +208,8 @@ func (r *restoreInvokerReconciler) reconcile() error { } if r.isAlreadyInFinalPhase() { - r.logger.V(4).Info("Skipping processing event", + r.logger.V(4).Info( + "Skipping processing event", apis.KeyReason, fmt.Sprintf("Restore has been completed already with phase %q", r.invoker.GetStatus().Phase), ) return nil @@ -241,7 +244,8 @@ func (r *restoreInvokerReconciler) reconcile() error { } if r.isDeadlineExceeded() { - r.logger.Info("Cancelling restore process", + r.logger.Info( + "Cancelling restore process", apis.KeyReason, "Time limit exceeded", ) return conditions.SetRestoreDeadlineExceededConditionToTrue(r.invoker, *r.invoker.GetTimeOut()) @@ -273,7 +277,8 @@ func (r *restoreInvokerReconciler) reconcile() error { // Skip processing if the target is not in next in order if !r.nextInOrder(targetInfo) { - r.logger.Info("Skipping restoring for target", + r.logger.Info( + "Skipping restoring for target", apis.KeyReason, "Previous targets hasn't been executed", apis.KeyTargetKind, targetInfo.Target.Ref.Kind, apis.KeyTargetName, targetInfo.Target.Ref.Name, @@ -288,7 +293,8 @@ func (r *restoreInvokerReconciler) reconcile() error { tref := targetInfo.Target.Ref shouldRequeue, err := r.checkForTargetExistence(tref, i) if err != nil { - r.logger.Error(err, "Failed to check target existence", + r.logger.Error( + err, "Failed to check target existence", apis.KeyTargetKind, tref.Kind, apis.KeyTargetName, tref.Name, apis.KeyTargetNamespace, tref.Namespace, @@ -300,7 +306,8 @@ func (r *restoreInvokerReconciler) reconcile() error { } if err := r.ensureRestoreExecutor(targetInfo, i); err != nil { - r.logger.Error(err, "Failed to ensure restore executor", + r.logger.Error( + err, "Failed to ensure restore executor", apis.KeyTargetKind, tref.Kind, apis.KeyTargetName, tref.Name, apis.KeyTargetNamespace, tref.Namespace, @@ -381,7 +388,8 @@ func (r *restoreInvokerReconciler) requeue(requeueTimeInterval time.Duration) er case api_v1beta1.ResourceKindRestoreSession: r.ctrl.restoreSessionQueue.GetQueue().AddAfter(r.key, requeueTimeInterval) default: - return fmt.Errorf("unable to requeue. Reason: Restore invoker %s %s is not supported", + return fmt.Errorf( + "unable to requeue. Reason: Restore invoker %s %s is not supported", invTypeMeta.APIVersion, invTypeMeta.Kind, ) @@ -478,7 +486,8 @@ func (r *restoreInvokerReconciler) executeGlobalPostRestoreHook() error { } if !stashHooks.IsAllowedByExecutionPolicy(executionPolicy, hookExecutor.Summary) { - reason := fmt.Sprintf("Skipping executing %s. Reason: executionPolicy is %q but phase is %q.", + reason := fmt.Sprintf( + "Skipping executing %s. Reason: executionPolicy is %q but phase is %q.", apis.PostRestoreHook, executionPolicy, hookExecutor.Summary.Status.Phase, @@ -567,9 +576,11 @@ func (r *restoreInvokerReconciler) sendRestoreMetrics() error { metricsOpt := &metrics.MetricsOptions{ Enabled: true, PushgatewayURL: metrics.GetPushgatewayURL(), - JobName: fmt.Sprintf("%s-%s-%s", + JobName: fmt.Sprintf( + "%s-%s-%s", strings.ToLower( - r.invoker.GetTypeMeta().Kind), + r.invoker.GetTypeMeta().Kind, + ), r.invoker.GetObjectMeta().Namespace, r.invoker.GetObjectMeta().Name, ), @@ -599,7 +610,8 @@ func (r *restoreInvokerReconciler) checkForTargetExistence(tref api_v1beta1.Targ } if !targetExist { - r.logger.Info("Restore target does not exist", + r.logger.Info( + "Restore target does not exist", apis.KeyTargetKind, tref.Kind, apis.KeyTargetName, tref.Name, apis.KeyTargetNamespace, tref.Namespace, @@ -657,7 +669,8 @@ func (r *restoreInvokerReconciler) ensureRestoreExecutor(targetInfo invoker.Rest } if verb != kutil.VerbUnchanged { - r.logger.Info("Successfully ensured restore executor", + r.logger.Info( + "Successfully ensured restore executor", apis.KeyTargetKind, tref.Kind, apis.KeyTargetName, tref.Name, apis.KeyTargetNamespace, tref.Namespace, diff --git a/pkg/controller/statefulsets.go b/pkg/controller/statefulsets.go index 4f1c1a03e..fc07c146e 100644 --- a/pkg/controller/statefulsets.go +++ b/pkg/controller/statefulsets.go @@ -93,7 +93,8 @@ func (c *StashController) processStatefulSetEvent(v any) error { key := v.(string) obj, exists, err := c.ssInformer.GetIndexer().GetByKey(key) if err != nil { - klog.ErrorS(err, "Failed to fetch object from indexer", + klog.ErrorS( + err, "Failed to fetch object from indexer", apis.ObjectKind, apis.KindStatefulSet, apis.ObjectKey, key, ) @@ -101,7 +102,8 @@ func (c *StashController) processStatefulSetEvent(v any) error { } if !exists { - klog.V(4).InfoS("Object doesn't exist anymore", + klog.V(4).InfoS( + "Object doesn't exist anymore", apis.ObjectKind, apis.KindStatefulSet, apis.ObjectKey, key, ) diff --git a/pkg/controller/workload.go b/pkg/controller/workload.go index 425c9dacb..1146630fc 100644 --- a/pkg/controller/workload.go +++ b/pkg/controller/workload.go @@ -66,7 +66,8 @@ func (r *workloadReconciler) reconcile(caller string) error { var err error if r.workload.DeletionTimestamp != nil { - r.logger.V(4).Info("Skipping processing event", + r.logger.V(4).Info( + "Skipping processing event", apis.KeyReason, "Resource is being deleted", ) return nil @@ -498,7 +499,8 @@ func (opt *invokerOptions) handleSidecarInjectionFailure(inv invoker.BackupInvok opt.workload.Object, corev1.EventTypeWarning, eventer.EventReasonSidecarInjectionFailed, - fmt.Sprintf("Failed to inject stash sidecar into %s %s/%s. Reason: %v", + fmt.Sprintf( + "Failed to inject stash sidecar into %s %s/%s. Reason: %v", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, @@ -521,7 +523,8 @@ func (opt *invokerOptions) handleSidecarInjectionSuccess(inv invoker.BackupInvok opt.workload.Object, corev1.EventTypeNormal, eventer.EventReasonSidecarInjectionSucceeded, - fmt.Sprintf("Successfully injected stash sidecar into %s %s/%s.", + fmt.Sprintf( + "Successfully injected stash sidecar into %s %s/%s.", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, @@ -540,7 +543,8 @@ func (opt *invokerOptions) handleSidecarDeletionSuccess() error { opt.workload.Object, corev1.EventTypeNormal, eventer.EventReasonSidecarDeletionSucceeded, - fmt.Sprintf("Successfully removed stash sidecar from %s %s/%s.", + fmt.Sprintf( + "Successfully removed stash sidecar from %s %s/%s.", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, @@ -559,7 +563,8 @@ func (opt *invokerOptions) handleSidecarDeletionFailure(err error) error { opt.workload.Object, corev1.EventTypeWarning, eventer.EventReasonSidecarDeletionFailed, - fmt.Sprintf("Failed to remove stash sidecar from %s %s/%s. Reason: %v", + fmt.Sprintf( + "Failed to remove stash sidecar from %s %s/%s. Reason: %v", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, @@ -582,7 +587,8 @@ func (opt *invokerOptions) handleInitContainerInjectionFailure(inv invoker.Resto opt.workload.Object, corev1.EventTypeWarning, eventer.EventReasonInitContainerInjectionFailed, - fmt.Sprintf("Failed to inject stash init-container into %s %s/%s. Reason: %v", + fmt.Sprintf( + "Failed to inject stash init-container into %s %s/%s. Reason: %v", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, @@ -605,7 +611,8 @@ func (opt *invokerOptions) handleInitContainerInjectionSuccess(inv invoker.Resto opt.workload.Object, corev1.EventTypeNormal, eventer.EventReasonInitContainerInjectionSucceeded, - fmt.Sprintf("Successfully injected stash init-container into %s %s/%s.", + fmt.Sprintf( + "Successfully injected stash init-container into %s %s/%s.", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, @@ -624,7 +631,8 @@ func (opt *invokerOptions) handleInitContainerDeletionSuccess() error { opt.workload.Object, corev1.EventTypeNormal, eventer.EventReasonInitContainerDeletionSucceeded, - fmt.Sprintf("Successfully removed stash init-container from %s %s/%s.", + fmt.Sprintf( + "Successfully removed stash init-container from %s %s/%s.", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, @@ -643,7 +651,8 @@ func (opt *invokerOptions) handleInitContainerDeletionFailure(err error) error { opt.workload.Object, corev1.EventTypeWarning, eventer.EventReasonSidecarDeletionFailed, - fmt.Sprintf("Failed to remove stash-init init-container from %s %s/%s. Reason: %v", + fmt.Sprintf( + "Failed to remove stash-init init-container from %s %s/%s. Reason: %v", opt.targetRef.Kind, opt.targetRef.Namespace, opt.targetRef.Name, diff --git a/pkg/executor/backup_job.go b/pkg/executor/backup_job.go index 9bd09a98d..fa9803755 100644 --- a/pkg/executor/backup_job.go +++ b/pkg/executor/backup_job.go @@ -122,5 +122,6 @@ func (e *BackupJob) resolveTask(jobMeta metav1.ObjectMeta, owner *metav1.OwnerRe func (e *BackupJob) getBackupJobName() string { return metautil.ValidNameWithPrefixNSuffix( apis.PrefixStashBackup, - strings.ReplaceAll(e.Session.GetObjectMeta().Name, ".", "-"), strconv.Itoa(e.Index)) + strings.ReplaceAll(e.Session.GetObjectMeta().Name, ".", "-"), strconv.Itoa(e.Index), + ) } diff --git a/pkg/executor/volumesnapshooter.go b/pkg/executor/volumesnapshooter.go index 70fcca376..e5ab36ea5 100644 --- a/pkg/executor/volumesnapshooter.go +++ b/pkg/executor/volumesnapshooter.go @@ -86,7 +86,8 @@ func (e *CSISnapshooter) getName(targetRef api_v1beta1.TargetRef) string { suffix := parts[len(parts)-1] return meta_util.ValidNameWithPrefix( apis.PrefixStashVolumeSnapshot, - fmt.Sprintf("%s-%s-%s", + fmt.Sprintf( + "%s-%s-%s", apis.ResourceShortForm(targetRef.Kind), targetRef.Name, suffix, diff --git a/pkg/rbac/cleanup.go b/pkg/rbac/cleanup.go index 2b76d24f7..ab97c6e68 100644 --- a/pkg/rbac/cleanup.go +++ b/pkg/rbac/cleanup.go @@ -94,14 +94,16 @@ func ensureSidecarRoleBindingDeleted(kubeClient kubernetes.Interface, logger klo err := kubeClient.RbacV1().RoleBindings(w.Namespace).Delete( context.TODO(), getSidecarRoleBindingName(w.Name, w.Kind), - metav1.DeleteOptions{}) + metav1.DeleteOptions{}, + ) if err != nil { if kerr.IsNotFound(err) { return nil } return err } - logger.Info(fmt.Sprintf("RoleBinding %s/%s has been deleted", + logger.Info(fmt.Sprintf( + "RoleBinding %s/%s has been deleted", w.Namespace, getSidecarRoleBindingName(w.Name, w.Kind), )) diff --git a/pkg/rbac/init_container.go b/pkg/rbac/init_container.go index fb234a0aa..a4f547ae7 100644 --- a/pkg/rbac/init_container.go +++ b/pkg/rbac/init_container.go @@ -140,14 +140,16 @@ func ensureRestoreInitContainerRoleBindingDeleted(kubeClient kubernetes.Interfac err := kubeClient.RbacV1().RoleBindings(w.Namespace).Delete( context.TODO(), getRestoreInitContainerRoleBindingName(w.Kind, w.Name), - metav1.DeleteOptions{}) + metav1.DeleteOptions{}, + ) if err != nil { if kerr.IsNotFound(err) { return nil } return err } - logger.Info(fmt.Sprintf("RoleBinding %s/%s has been deleted", + logger.Info(fmt.Sprintf( + "RoleBinding %s/%s has been deleted", w.Namespace, getRestoreInitContainerRoleBindingName(w.Kind, w.Name), )) diff --git a/pkg/resolver/inputs.go b/pkg/resolver/inputs.go index 9a84cdd8e..c46f595d7 100644 --- a/pkg/resolver/inputs.go +++ b/pkg/resolver/inputs.go @@ -40,7 +40,8 @@ func (r *TaskOptions) setVariables() error { if r.Repository != nil { err := r.setRepositoryVariables() if err != nil { - return fmt.Errorf("failed to populate variables for Repository %s/%s, Reason: %v", + return fmt.Errorf( + "failed to populate variables for Repository %s/%s, Reason: %v", r.Repository.Namespace, r.Repository.Name, err, @@ -50,7 +51,8 @@ func (r *TaskOptions) setVariables() error { if r.Backup != nil { err := r.setBackupInvokerVariables() if err != nil { - return fmt.Errorf("cannot resolve implicit inputs for backup invoker %s %s/%s, Reason: %v", + return fmt.Errorf( + "cannot resolve implicit inputs for backup invoker %s %s/%s, Reason: %v", r.Backup.Invoker.GetTypeMeta().Kind, r.Backup.Invoker.GetObjectMeta().Namespace, r.Backup.Invoker.GetObjectMeta().Name, diff --git a/pkg/resolver/resolver.go b/pkg/resolver/resolver.go index 1cecceb17..0f5e30adf 100644 --- a/pkg/resolver/resolver.go +++ b/pkg/resolver/resolver.go @@ -99,7 +99,8 @@ func (r *TaskOptions) Resolve() (core.PodSpec, error) { podSpec, err := tr.getPodSpec() if err != nil { - return core.PodSpec{}, fmt.Errorf("can't get PodSpec for backup invoker %s/%s, Reason: %v", + return core.PodSpec{}, fmt.Errorf( + "can't get PodSpec for backup invoker %s/%s, Reason: %v", r.invoker.GetObjectMeta().Namespace, r.invoker.GetObjectMeta().Name, err, diff --git a/pkg/restore/restore.go b/pkg/restore/restore.go index c5d24bbf1..e042c6fcb 100644 --- a/pkg/restore/restore.go +++ b/pkg/restore/restore.go @@ -219,7 +219,8 @@ func (opt *Options) runRestore(inv invoker.RestoreInvoker, targetInfo invoker.Re // if already restored for this host then don't process further if opt.isRestoredForThisHost(inv, targetInfo, opt.Host) { - klog.Infof("Skipping restore for %s %s/%s. Reason: restore already completed for host %q.", + klog.Infof( + "Skipping restore for %s %s/%s. Reason: restore already completed for host %q.", inv.GetTypeMeta().Kind, inv.GetObjectMeta().Namespace, inv.GetObjectMeta().Name, diff --git a/pkg/scheduler/periodic.go b/pkg/scheduler/periodic.go index 5c75ced58..3b25627fe 100644 --- a/pkg/scheduler/periodic.go +++ b/pkg/scheduler/periodic.go @@ -104,7 +104,8 @@ func (s *PeriodicScheduler) Ensure() error { } in.Spec.JobTemplate.Spec.Template.Spec.Containers = core_util.UpsertContainer( - in.Spec.JobTemplate.Spec.Template.Spec.Containers, container) + in.Spec.JobTemplate.Spec.Template.Spec.Containers, container, + ) in.Spec.JobTemplate.Spec.Template.Spec.RestartPolicy = core.RestartPolicyNever in.Spec.JobTemplate.Spec.Template.Spec.ServiceAccountName = s.RBACOptions.GetServiceAccountName() in.Spec.JobTemplate.Spec.Template.Spec.ImagePullSecrets = s.ImagePullSecrets diff --git a/pkg/server/server.go b/pkg/server/server.go index 06ffe2d89..43f28cd4e 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -67,7 +67,8 @@ func init() { // TODO: keep the generic API server from wanting this unversioned := schema.GroupVersion{Group: "", Version: "v1"} - Scheme.AddUnversionedTypes(unversioned, + Scheme.AddUnversionedTypes( + unversioned, &metav1.Status{}, &metav1.APIVersions{}, &metav1.APIGroupList{}, @@ -131,7 +132,8 @@ func (c completedConfig) New() (*StashServer, error) { var admissionHooks []hooks.AdmissionHook if c.ExtraConfig.EnableValidatingWebhook { - admissionHooks = append(admissionHooks, + admissionHooks = append( + admissionHooks, ctrl.NewRepositoryWebhook(), // ctrl.NewBackupSessionWebhook(), ctrl.NewRestoreSessionWebhook(), @@ -139,7 +141,8 @@ func (c completedConfig) New() (*StashServer, error) { ) } if c.ExtraConfig.EnableMutatingWebhook { - admissionHooks = append(admissionHooks, + admissionHooks = append( + admissionHooks, ctrl.NewDeploymentWebhook(), ctrl.NewDaemonSetWebhook(), ctrl.NewStatefulSetWebhook(), @@ -197,7 +200,8 @@ func (c completedConfig) New() (*StashServer, error) { if len(postStartName) == 0 { continue } - s.GenericAPIServer.AddPostStartHookOrDie(postStartName, + s.GenericAPIServer.AddPostStartHookOrDie( + postStartName, func(context genericapiserver.PostStartHookContext) error { return admissionHook.Initialize(c.ExtraConfig.ClientConfig, context.Done()) }, @@ -205,7 +209,8 @@ func (c completedConfig) New() (*StashServer, error) { } if c.ExtraConfig.EnableValidatingWebhook { - s.GenericAPIServer.AddPostStartHookOrDie("validating-webhook-xray", + s.GenericAPIServer.AddPostStartHookOrDie( + "validating-webhook-xray", func(ctx genericapiserver.PostStartHookContext) error { go func() { xray := reg_util.NewCreateValidatingWebhookXray(c.ExtraConfig.ClientConfig, apiserviceName, &api.Repository{ @@ -237,7 +242,8 @@ func (c completedConfig) New() (*StashServer, error) { c.ExtraConfig.ClientConfig, core.SchemeGroupVersion.WithResource("pods"), meta.PodNamespace(), - meta.PodName()) + meta.PodName(), + ) if e2 == nil { eventer.CreateEventWithLog( kubernetes.NewForConfigOrDie(c.ExtraConfig.ClientConfig), @@ -245,7 +251,8 @@ func (c completedConfig) New() (*StashServer, error) { w, core.EventTypeWarning, eventer.EventReasonAdmissionWebhookNotActivated, - err.Error()) + err.Error(), + ) } panic(err) } diff --git a/pkg/status/status.go b/pkg/status/status.go index b097945f5..e164a62c4 100644 --- a/pkg/status/status.go +++ b/pkg/status/status.go @@ -167,7 +167,8 @@ func (o UpdateStatusOptions) UpdatePostBackupStatus(backupOutput *restic.BackupO eventMessage, ) if err != nil { - klog.Errorf("failed to create event for %s %s/%s. Reason: %v", + klog.Errorf( + "failed to create event for %s %s/%s. Reason: %v", inv.GetTypeMeta().Kind, inv.GetObjectMeta().Namespace, inv.GetObjectMeta().Name, @@ -192,7 +193,8 @@ func (o UpdateStatusOptions) UpdatePostRestoreStatus(restoreOutput *restic.Resto } // add or update entry for each host in restore invoker status var err error - klog.Infof("Updating hosts status for restore target %s %s/%s.", + klog.Infof( + "Updating hosts status for restore target %s %s/%s.", targetInfo.Target.Ref.Kind, inv.GetObjectMeta().Namespace, targetInfo.Target.Ref.Name, @@ -222,7 +224,8 @@ func (o UpdateStatusOptions) UpdatePostRestoreStatus(restoreOutput *restic.Resto } err = inv.CreateEvent(eventType, eventer.EventSourceStatusUpdater, eventReason, eventMessage) if err != nil { - klog.Errorf("failed to create event for %s %s/%s. Reason: %v", + klog.Errorf( + "failed to create event for %s %s/%s. Reason: %v", inv.GetTypeMeta().Kind, inv.GetObjectMeta().Namespace, inv.GetObjectMeta().Name, @@ -370,7 +373,8 @@ func (o *UpdateStatusOptions) updateRepositoryStatus(inv invoker.BackupInvoker, in.TotalSize = repoStats.Size in.LastBackupTime = &startTime return repo.UID, in - }, metav1.UpdateOptions{}) + }, metav1.UpdateOptions{}, + ) return err } return nil diff --git a/pkg/volumesnapshot/volumesnapshot_cleanup_policy_test.go b/pkg/volumesnapshot/volumesnapshot_cleanup_policy_test.go index 04e3ea722..f96a75b5c 100644 --- a/pkg/volumesnapshot/volumesnapshot_cleanup_policy_test.go +++ b/pkg/volumesnapshot/volumesnapshot_cleanup_policy_test.go @@ -207,7 +207,6 @@ func newSnapshot(snapMeta snapInfo) (*vsapi.VolumeSnapshot, error) { Namespace: testNamespace, UID: types.UID(snapMeta.name), ResourceVersion: "1", - SelfLink: "/apis/snapshot.storage.k8s.io/v1alpha1/namespaces/" + testNamespace + "/volumesnapshots/" + snapMeta.name, CreationTimestamp: metav1.Time{Time: creationTimestamp}, }, Spec: vsapi.VolumeSnapshotSpec{ diff --git a/test/e2e/framework/backup_configuration.go b/test/e2e/framework/backup_configuration.go index 5af496146..14b7752d1 100644 --- a/test/e2e/framework/backup_configuration.go +++ b/test/e2e/framework/backup_configuration.go @@ -152,5 +152,6 @@ func (f *Framework) EventuallyBackupInvokerPhase(invoker invoker.BackupInvoker) default: return "" } - }, WaitTimeOut, PullInterval) + }, WaitTimeOut, PullInterval, + ) } diff --git a/test/e2e/framework/backup_session.go b/test/e2e/framework/backup_session.go index f287e294d..8e0d05385 100644 --- a/test/e2e/framework/backup_session.go +++ b/test/e2e/framework/backup_session.go @@ -37,7 +37,8 @@ func (f *Framework) EventuallyBackupSessionPhase(meta metav1.ObjectMeta) GomegaA bs, err := f.StashClient.StashV1beta1().BackupSessions(meta.Namespace).Get(context.TODO(), meta.Name, metav1.GetOptions{}) Expect(err).NotTo(HaveOccurred()) return bs.Status.Phase - }, WaitTimeOut, PullInterval) + }, WaitTimeOut, PullInterval, + ) } func (f *Framework) EventuallyBackupProcessCompleted(meta metav1.ObjectMeta) GomegaAsyncAssertion { @@ -52,7 +53,8 @@ func (f *Framework) EventuallyBackupProcessCompleted(meta metav1.ObjectMeta) Gom return true } return false - }, WaitTimeOut, PullInterval) + }, WaitTimeOut, PullInterval, + ) } func (f *Framework) EventuallyBackupSessionCreated(meta metav1.ObjectMeta, invokerKind string) GomegaAsyncAssertion { @@ -66,7 +68,8 @@ func (f *Framework) EventuallyBackupSessionCreated(meta metav1.ObjectMeta, invok }) Expect(err).NotTo(HaveOccurred()) return len(backupsnlist.Items) > 0 - }, WaitTimeOut, PullInterval) + }, WaitTimeOut, PullInterval, + ) } func (f *Framework) GetBackupSession(meta metav1.ObjectMeta) (*v1beta1.BackupSession, error) { diff --git a/test/e2e/framework/deployment.go b/test/e2e/framework/deployment.go index 63afc98cb..0f5de72c9 100644 --- a/test/e2e/framework/deployment.go +++ b/test/e2e/framework/deployment.go @@ -72,11 +72,12 @@ func (f *Framework) CreateDeployment(obj apps.Deployment) (*apps.Deployment, err } func (f *Framework) EventuallyDeployment(meta metav1.ObjectMeta) GomegaAsyncAssertion { - return Eventually(func() *apps.Deployment { - obj, err := f.KubeClient.AppsV1().Deployments(meta.Namespace).Get(context.TODO(), meta.Name, metav1.GetOptions{}) - Expect(err).NotTo(HaveOccurred()) - return obj - }, + return Eventually( + func() *apps.Deployment { + obj, err := f.KubeClient.AppsV1().Deployments(meta.Namespace).Get(context.TODO(), meta.Name, metav1.GetOptions{}) + Expect(err).NotTo(HaveOccurred()) + return obj + }, WaitTimeOut, PullInterval, ) diff --git a/test/e2e/framework/pod.go b/test/e2e/framework/pod.go index a9f35e071..edd18c62d 100644 --- a/test/e2e/framework/pod.go +++ b/test/e2e/framework/pod.go @@ -194,25 +194,26 @@ func (fi *Invocation) DeletePod(meta metav1.ObjectMeta) error { } func (f *Framework) EventuallyAllPodsAccessible(meta metav1.ObjectMeta) GomegaAsyncAssertion { - return Eventually(func() bool { - labelSelector := fields.SelectorFromSet(meta.Labels) - podList, err := f.KubeClient.CoreV1().Pods(meta.Namespace).List(context.TODO(), metav1.ListOptions{LabelSelector: labelSelector.String()}) - Expect(err).NotTo(HaveOccurred()) - - if len(podList.Items) == 0 { - return false - } + return Eventually( + func() bool { + labelSelector := fields.SelectorFromSet(meta.Labels) + podList, err := f.KubeClient.CoreV1().Pods(meta.Namespace).List(context.TODO(), metav1.ListOptions{LabelSelector: labelSelector.String()}) + Expect(err).NotTo(HaveOccurred()) + + if len(podList.Items) == 0 { + return false + } - allPodAccessible := true - for _, pod := range podList.Items { - _, err := f.ExecOnPod(&pod, "ls", "-R") - if err != nil { - allPodAccessible = false - break + allPodAccessible := true + for _, pod := range podList.Items { + _, err := f.ExecOnPod(&pod, "ls", "-R") + if err != nil { + allPodAccessible = false + break + } } - } - return allPodAccessible - }, + return allPodAccessible + }, WaitTimeOut, PullInterval, ) diff --git a/test/e2e/framework/repository.go b/test/e2e/framework/repository.go index 612db751d..3317fe886 100644 --- a/test/e2e/framework/repository.go +++ b/test/e2e/framework/repository.go @@ -45,13 +45,14 @@ type KindMetaReplicas struct { } func (f *Framework) EventuallyRepositoryCreated(meta metav1.ObjectMeta) GomegaAsyncAssertion { - return Eventually(func() bool { - _, err := f.StashClient.StashV1alpha1().Repositories(meta.Namespace).Get(context.TODO(), meta.Name, metav1.GetOptions{}) - if err == nil && !kerr.IsNotFound(err) { - return true - } - return false - }, + return Eventually( + func() bool { + _, err := f.StashClient.StashV1alpha1().Repositories(meta.Namespace).Get(context.TODO(), meta.Name, metav1.GetOptions{}) + if err == nil && !kerr.IsNotFound(err) { + return true + } + return false + }, WaitTimeOut, PullInterval, ) diff --git a/test/e2e/framework/restore_session.go b/test/e2e/framework/restore_session.go index a052735b6..3b22643d6 100644 --- a/test/e2e/framework/restore_session.go +++ b/test/e2e/framework/restore_session.go @@ -87,7 +87,8 @@ func (f *Framework) EventuallyRestoreProcessCompleted(meta metav1.ObjectMeta, in return true } return false - }, WaitTimeOut, PullInterval) + }, WaitTimeOut, PullInterval, + ) } func (f *Framework) GetRestoreJobs() ([]batch.Job, error) { @@ -162,7 +163,8 @@ func (f *Framework) EventuallyRestoreInvokerPhase(invoker invoker.RestoreInvoker default: return "" } - }, WaitTimeOut, PullInterval) + }, WaitTimeOut, PullInterval, + ) } func (fi *Invocation) TargetRestoreExecuted(inv invoker.RestoreInvoker) bool { diff --git a/test/e2e/framework/snapshots.go b/test/e2e/framework/snapshots.go index e4af0e4e3..6e52c7bf8 100644 --- a/test/e2e/framework/snapshots.go +++ b/test/e2e/framework/snapshots.go @@ -31,7 +31,8 @@ func (fi *Invocation) ListSnapshots(selector string) (*snap_v1alpha1.SnapshotLis metav1.ListOptions{ LabelSelector: selector, TimeoutSeconds: pointer.Int64P(600), - }) + }, + ) } func (fi *Invocation) GetSnapshot(name string) (*snap_v1alpha1.Snapshot, error) {