stashed / stash

🛅 Backup your Kubernetes Stateful Applications
https://stash.run
Other
1.31k stars 86 forks source link

Fix linter issues #788

Closed tamalsaha closed 4 years ago

tamalsaha commented 5 years ago

I run

$ export GO111MODULE=on
$ go get github.com/golangci/golangci-lint/cmd/golangci-lint@master
$ golangci-lint run
hack/gencrd/main.go:72:23: Error return value of `crdutils.MarshallCrd` is not checked (errcheck)
        crdutils.MarshallCrd(f, crd, "yaml")
                            ^
hack/gendocs/main.go:94:27: Error return value of `doc.GenMarkdownTreeCustom` is not checked (errcheck)
    doc.GenMarkdownTreeCustom(rootCmd, dir, filePrepender, linkHandler)
                             ^
pkg/backup/backup.go:304:19: Error return value of `push.Collectors` is not checked (errcheck)
            push.Collectors(c.JobName(restic),
                           ^
pkg/backup/backup.go:313:37: Error return value of `stash_util.UpdateRepositoryStatus` is not checked (errcheck)
            stash_util.UpdateRepositoryStatus(c.stashClient.StashV1alpha1(), repository, func(in *api.RepositoryStatus) *api.RepositoryStatus {
                                             ^
pkg/backup/scheduler.go:93:28: Error return value of `c.setupAndRunScheduler` is not checked (errcheck)
                    c.setupAndRunScheduler(ctx.Done())
                                          ^
pkg/backup/scheduler.go:142:73: Error return value of `c.checkOnceForScheduler` is not checked (errcheck)
    _, err = c.cron.AddFunc("0 0 */3 * *", func() { c.checkOnceForScheduler() })
                                                                           ^
pkg/cmds/root.go:34:22: Error return value of `scheme.AddToScheme` is not checked (errcheck)
            scheme.AddToScheme(clientsetscheme.Scheme)
                              ^
pkg/cmds/root.go:35:22: Error return value of `scheme.AddToScheme` is not checked (errcheck)
            scheme.AddToScheme(legacyscheme.Scheme)
                              ^
pkg/cmds/root.go:36:24: Error return value of `ocscheme.AddToScheme` is not checked (errcheck)
            ocscheme.AddToScheme(clientsetscheme.Scheme)
                                ^
pkg/cmds/root.go:37:24: Error return value of `ocscheme.AddToScheme` is not checked (errcheck)
            ocscheme.AddToScheme(legacyscheme.Scheme)
                                ^
pkg/controller/namespaces.go:29:67: Error return value of `(stash.appscode.dev/stash/client/clientset/versioned/typed/stash/v1alpha1.ResticInterface).Delete` is not checked (errcheck)
                        c.stashClient.StashV1alpha1().Restics(item.Namespace).Delete(item.Name, &metav1.DeleteOptions{})
                                                                                    ^
pkg/controller/recoveries.go:144:22: Error return value of `eventer.CreateEvent` is not checked (errcheck)
        eventer.CreateEvent(c.kubeClient, RecoveryEventComponent, rec, core.EventTypeWarning, eventer.EventReasonJobFailedToCreate, err.Error())
                           ^
pkg/controller/recoveries.go:157:34: Error return value of `stash_util.UpdateRecoveryStatus` is not checked (errcheck)
        stash_util.UpdateRecoveryStatus(c.stashClient.StashV1alpha1(), rec, func(in *api.RecoveryStatus) *api.RecoveryStatus {
                                       ^
pkg/controller/recoveries.go:163:23: Error return value of `eventer.CreateEvent` is not checked (errcheck)
            eventer.CreateEvent(c.kubeClient, RecoveryEventComponent, ref, core.EventTypeWarning, eventer.EventReasonJobFailedToCreate, err.Error())
                               ^
pkg/controller/recoveries.go:174:22: Error return value of `eventer.CreateEvent` is not checked (errcheck)
        eventer.CreateEvent(c.kubeClient, RecoveryEventComponent, rec, core.EventTypeWarning, eventer.EventReasonJobFailedToCreate, err.Error())
                           ^
pkg/controller/recoveries.go:189:33: Error return value of `stash_util.UpdateRecoveryStatus` is not checked (errcheck)
    stash_util.UpdateRecoveryStatus(c.stashClient.StashV1alpha1(), rec, func(in *api.RecoveryStatus) *api.RecoveryStatus {
                                   ^
pkg/controller/restics.go:135:28: Error return value of `c.EnsureScaledownCronJob` is not checked (errcheck)
            c.EnsureScaledownCronJob(restic)
                                    ^
pkg/controller/sidecar.go:303:50: Error return value of `(k8s.io/client-go/kubernetes/typed/core/v1.PodInterface).Delete` is not checked (errcheck)
            c.kubeClient.CoreV1().Pods(w.Namespace).Delete(pod.Name, &metav1.DeleteOptions{})
                                                          ^
pkg/recovery/recovery.go:65:34: Error return value of `stash_util.UpdateRecoveryStatus` is not checked (errcheck)
        stash_util.UpdateRecoveryStatus(c.stashClient, recovery, func(in *api.RecoveryStatus) *api.RecoveryStatus {
                                       ^
pkg/recovery/recovery.go:183:31: Error return value of `stash_util.SetRecoveryStats` is not checked (errcheck)
            stash_util.SetRecoveryStats(c.stashClient, recovery, path, d, api.RecoveryFailed)
                                       ^
pkg/recovery/recovery.go:185:31: Error return value of `stash_util.SetRecoveryStats` is not checked (errcheck)
            stash_util.SetRecoveryStats(c.stashClient, recovery, path, d, api.RecoverySucceeded)
                                       ^
pkg/server/server.go:43:23: Error return value of `admission.AddToScheme` is not checked (errcheck)
    admission.AddToScheme(Scheme)
                         ^
test/e2e/daemonset_test.go:151:18: Error return value of `f.DeleteRestic` is not checked (errcheck)
            f.DeleteRestic(restic.ObjectMeta)
                          ^
test/e2e/daemonset_test.go:364:21: Error return value of `f.DeleteDaemonSet` is not checked (errcheck)
            f.DeleteDaemonSet(daemon.ObjectMeta)
                             ^
test/e2e/daemonset_test.go:365:18: Error return value of `f.DeleteRestic` is not checked (errcheck)
            f.DeleteRestic(restic.ObjectMeta)
                          ^
test/e2e/daemonset_test.go:366:18: Error return value of `f.DeleteSecret` is not checked (errcheck)
            f.DeleteSecret(cred.ObjectMeta)
                          ^
test/e2e/daemonset_test.go:435:21: Error return value of `f.DeleteDaemonSet` is not checked (errcheck)
            f.DeleteDaemonSet(daemon.ObjectMeta)
                             ^
test/e2e/daemonset_test.go:436:18: Error return value of `f.DeleteRestic` is not checked (errcheck)
            f.DeleteRestic(restic.ObjectMeta)
                          ^
test/e2e/daemonset_test.go:437:18: Error return value of `f.DeleteSecret` is not checked (errcheck)
            f.DeleteSecret(cred.ObjectMeta)
                          ^
test/e2e/daemonset_test.go:448:21: Error return value of `f.DeleteDaemonSet` is not checked (errcheck)
            f.DeleteDaemonSet(daemon.ObjectMeta)
                             ^
test/e2e/daemonset_test.go:450:18: Error return value of `f.DeleteSecret` is not checked (errcheck)
            f.DeleteSecret(cred.ObjectMeta)
                          ^
test/e2e/daemonset_test.go:740:29: Error return value of `f.CleanupRecoveredVolume` is not checked (errcheck)
                f.CleanupRecoveredVolume(daemon.ObjectMeta)
                                        ^
test/e2e/daemonset_test.go:744:21: Error return value of `f.DeleteRecovery` is not checked (errcheck)
                f.DeleteRecovery(recovery.ObjectMeta)
                                ^
test/e2e/daemonset_test.go:828:29: Error return value of `f.CleanupRecoveredVolume` is not checked (errcheck)
                f.CleanupRecoveredVolume(daemon.ObjectMeta)
                                        ^
test/e2e/daemonset_test.go:832:21: Error return value of `f.DeleteRecovery` is not checked (errcheck)
                f.DeleteRecovery(recovery.ObjectMeta)
                                ^
test/e2e/daemonset_test.go:849:30: Error return value of `f.WaitUntilDaemonPodReady` is not checked (errcheck)
                f.WaitUntilDaemonPodReady(daemon.ObjectMeta)
                                         ^
test/e2e/daemonset_test.go:925:29: Error return value of `f.CleanupRecoveredVolume` is not checked (errcheck)
                f.CleanupRecoveredVolume(daemon.ObjectMeta)
                                        ^
test/e2e/daemonset_test.go:929:21: Error return value of `f.DeleteRecovery` is not checked (errcheck)
                f.DeleteRecovery(recovery.ObjectMeta)
                                ^
test/e2e/daemonset_test.go:930:22: Error return value of `f.DeleteNamespace` is not checked (errcheck)
                f.DeleteNamespace(recoveryNamespace.Name)
                                 ^
test/e2e/deployment_test.go:403:22: Error return value of `f.DeleteDeployment` is not checked (errcheck)
            f.DeleteDeployment(deployment.ObjectMeta)
                              ^
test/e2e/deployment_test.go:474:22: Error return value of `f.DeleteDeployment` is not checked (errcheck)
            f.DeleteDeployment(deployment.ObjectMeta)
                              ^
test/e2e/deployment_test.go:487:22: Error return value of `f.DeleteDeployment` is not checked (errcheck)
            f.DeleteDeployment(deployment.ObjectMeta)
                              ^
test/e2e/deployment_test.go:1158:39: Error return value of `apps_util.WaitUntilDeploymentReady` is not checked (errcheck)
                apps_util.WaitUntilDeploymentReady(f.KubeClient, deployment.ObjectMeta)
                                                  ^
test/e2e/deployment_test.go:1245:22: Error return value of `f.DeleteNamespace` is not checked (errcheck)
                f.DeleteNamespace(recoveryNamespace.Name)
                                 ^
test/e2e/deployment_test.go:1363:39: Error return value of `apps_util.WaitUntilDeploymentReady` is not checked (errcheck)
                apps_util.WaitUntilDeploymentReady(f.KubeClient, deployment.ObjectMeta)
                                                  ^
test/e2e/e2e_suite_test.go:47:20: Error return value of `scheme.AddToScheme` is not checked (errcheck)
    scheme.AddToScheme(clientsetscheme.Scheme)
                      ^
test/e2e/framework/minio_server.go:70:36: Error return value of `apps_util.WaitUntilDeploymentReady` is not checked (errcheck)
    apps_util.WaitUntilDeploymentReady(fi.KubeClient, mdeploy.ObjectMeta)
                                      ^
test/e2e/framework/minio_server.go:264:31: Error return value of `fi.DeleteSecretForMinioServer` is not checked (errcheck)
    fi.DeleteSecretForMinioServer(mcred.ObjectMeta)
                                 ^
test/e2e/framework/minio_server.go:265:28: Error return value of `fi.DeletePVCForMinioServer` is not checked (errcheck)
    fi.DeletePVCForMinioServer(mpvc.ObjectMeta)
                              ^
test/e2e/framework/minio_server.go:266:35: Error return value of `fi.DeleteDeploymentForMinioServer` is not checked (errcheck)
    fi.DeleteDeploymentForMinioServer(mdeploy.ObjectMeta)
                                     ^
pkg/scale/scale.go:33:2: `locked` is unused (structcheck)
    locked    chan struct{}
    ^
hack/gencrd/main.go:77:6: `generateSwaggerJson` is unused (deadcode)
func generateSwaggerJson() {
     ^
test/e2e/e2e_suite_test.go:33:2: `ctrl` is unused (deadcode)
    ctrl         *controller.StashController
    ^
test/e2e/e2e_suite_test.go:35:2: `storageClass` is unused (deadcode)
    storageClass = "standard"
    ^
test/e2e/volume_test.go:15:2: `bpv` is unused (deadcode)
    bpv              *core.PersistentVolume
    ^
hack/gencrd/main.go:109:4: composites: `kmodules.xyz/client-go/openapi.TypeInfo` composite literal uses unkeyed fields (govet)
            {stashv1alpha1.SchemeGroupVersion, stashv1alpha1.ResourcePluralRestic, stashv1alpha1.ResourceKindRestic, true},
            ^
hack/gencrd/main.go:110:4: composites: `kmodules.xyz/client-go/openapi.TypeInfo` composite literal uses unkeyed fields (govet)
            {stashv1alpha1.SchemeGroupVersion, stashv1alpha1.ResourcePluralRepository, stashv1alpha1.ResourceKindRepository, true},
            ^
hack/gencrd/main.go:111:4: composites: `kmodules.xyz/client-go/openapi.TypeInfo` composite literal uses unkeyed fields (govet)
            {stashv1alpha1.SchemeGroupVersion, stashv1alpha1.ResourcePluralRecovery, stashv1alpha1.ResourceKindRecovery, true},
            ^
pkg/restore/restore.go:213:22: nilness: nil dereference in dynamic method call (govet)
        Error:    err.Error(),
                           ^
pkg/controller/rbac_jobs.go:52:2: ineffectual assignment to `err` (ineffassign)
    err = c.ensureCronJobRoleBinding(resource, sa)
    ^
pkg/backup/backupsession.go:400:5: ineffectual assignment to `err` (ineffassign)
    _, err = v1beta1_util.UpdateBackupSessionStatusForHost(c.StashClient.StashV1beta1(), backupSession, hostStats)
       ^
pkg/registry/snapshot/snapshot.go:91:2: ineffectual assignment to `snapshot` (ineffassign)
    snapshot := &repositories.Snapshot{}
    ^
pkg/registry/snapshot/utils.go:45:25: ineffectual assignment to `err` (ineffassign)
    hostName, smartPrefix, err := workload.HostnamePrefix(info.PodName, info.NodeName)
                           ^
apis/stash/v1beta1/types_helpers.go:5:2: S1008: should use 'return <expr>' instead of 'if <expr> { return <bool> }; return <bool>' (gosimple)
    if t.Kind == "Deployment" {
    ^
pkg/backup/backup.go:225:73: SA9002: file mode '644' evaluates to 01204; did you mean '0644'? (staticcheck)
    if err := ioutil.WriteFile(c.opt.ScratchDir+"/.stash", []byte("test"), 644); err != nil {
                                                                           ^
pkg/backup/backup.go:260:5: S1002: should omit comparison to bool constant, can be simplified to `restic.Spec.Paused` (gosimple)
    if restic.Spec.Paused == true {
       ^
pkg/backup/backup.go:387:9: S1012: should use `time.Since` instead of `time.Now().Sub` (gosimple)
        g.Set(time.Now().Sub(startTime).Seconds())
              ^
pkg/controller/appbindings.go:75:37: S1019: should use make(map[string]string) instead (gosimple)
        inputs := make(map[string]string, 0)
                                          ^
pkg/controller/backup.go:66:37: S1019: should use make(map[string]string) instead (gosimple)
        inputs := make(map[string]string, 0)
                                          ^
pkg/controller/pvc.go:89:37: S1019: should use make(map[string]string) instead (gosimple)
        inputs := make(map[string]string, 0)
                                          ^
pkg/recovery/recovery.go:195:9: S1012: should use `time.Since` instead of `time.Now().Sub` (gosimple)
    return time.Now().Sub(startTime), err
           ^
pkg/restore/restore.go:216:5: SA4006: this value of `err` is never used (staticcheck)
    _, err = stash_util_v1beta1.UpdateRestoreSessionStatusForHost(opt.StashClient.StashV1beta1(), restoreSession, hostStats)
       ^
test/e2e/framework/backup_session.go:27:4: S1008: should use 'return <expr>' instead of 'if <expr> { return <bool> }; return <bool>' (gosimple)
            if len(backupsnlist.Items) > 0 {
            ^
test/e2e/framework/util.go:345:3: S1011: should replace loop with `paths = append(paths, restoreSession.Spec.Rules[i].Paths...)` (gosimple)
        for _, p := range restoreSession.Spec.Rules[i].Paths {
        ^
test/e2e/snapshots_test.go:279:4: SA4006: this value of `singleSnapshot` is never used (staticcheck)
            singleSnapshot, err = f.StashClient.RepositoriesV1alpha1().Snapshots(f.Namespace()).Get(snapshotToDelete, metav1.GetOptions{})
            ^
ERRO Deadline exceeded: try increase it by passing --deadline option 
tamalsaha commented 5 years ago

We need to talk before anyone works on this issue.

hossainemruz commented 4 years ago

Fixed in #928