From 3469dfc753427efcf8f36d0b7ee71672a8d61e43 Mon Sep 17 00:00:00 2001 From: Yati Padia Date: Sat, 10 Jul 2021 16:15:11 +0530 Subject: [PATCH] cleanup: resolve errorlint issues This commit resolves errorlint issues which checks for the code that will cause problems with the error wrapping scheme. Updates: #1586 Signed-off-by: Yati Padia --- e2e/rbd_helper.go | 10 +++++----- e2e/snapshot.go | 2 +- e2e/utils.go | 18 +++++++++--------- internal/rbd/rbd_attach.go | 2 +- internal/rbd/rbd_util.go | 6 +++--- internal/util/pidlimit.go | 3 ++- internal/util/topology.go | 2 +- internal/util/topology_test.go | 2 +- 8 files changed, 23 insertions(+), 22 deletions(-) diff --git a/e2e/rbd_helper.go b/e2e/rbd_helper.go index fef0faecb..1077a5a90 100644 --- a/e2e/rbd_helper.go +++ b/e2e/rbd_helper.go @@ -271,13 +271,13 @@ func validateCloneInDifferentPool(f *framework.Framework, snapshotPool, cloneSc, wgErrs := make([]error, totalCount) pvc, err := loadPVC(pvcPath) if err != nil { - return fmt.Errorf("failed to load PVC with error %v", err) + return fmt.Errorf("failed to load PVC with error %w", err) } pvc.Namespace = f.UniqueName err = createPVCAndvalidatePV(f.ClientSet, pvc, deployTimeout) if err != nil { - return fmt.Errorf("failed to create PVC with error %v", err) + return fmt.Errorf("failed to create PVC with error %w", err) } validateRBDImageCount(f, 1, defaultRBDPool) snap := getSnapshot(snapshotPath) @@ -301,7 +301,7 @@ func validateCloneInDifferentPool(f *framework.Framework, snapshotPool, cloneSc, // delete parent pvc err = deletePVCAndValidatePV(f.ClientSet, pvc, deployTimeout) if err != nil { - return fmt.Errorf("failed to delete PVC with error %v", err) + return fmt.Errorf("failed to delete PVC with error %w", err) } // validate the rbd images created for snapshots @@ -309,11 +309,11 @@ func validateCloneInDifferentPool(f *framework.Framework, snapshotPool, cloneSc, pvcClone, err := loadPVC(pvcClonePath) if err != nil { - return fmt.Errorf("failed to load PVC with error %v", err) + return fmt.Errorf("failed to load PVC with error %w", err) } appClone, err := loadApp(appClonePath) if err != nil { - return fmt.Errorf("failed to load application with error %v", err) + return fmt.Errorf("failed to load application with error %w", err) } pvcClone.Namespace = f.UniqueName // if request is to create clone with different storage class diff --git a/e2e/snapshot.go b/e2e/snapshot.go index 3ba860616..6fac88927 100644 --- a/e2e/snapshot.go +++ b/e2e/snapshot.go @@ -119,7 +119,7 @@ func deleteSnapshot(snap *snapapi.VolumeSnapshot, t int) error { } if !apierrs.IsNotFound(err) { return false, fmt.Errorf( - "get on deleted snapshot %v failed with error other than \"not found\": %v", + "get on deleted snapshot %v failed with error other than \"not found\": %w", name, err) } diff --git a/e2e/utils.go b/e2e/utils.go index c7f4b077e..674bf66e3 100644 --- a/e2e/utils.go +++ b/e2e/utils.go @@ -1035,17 +1035,17 @@ func validateController(f *framework.Framework, pvcPath, appPath, scPath string) // create storageclass with retain err = createRBDStorageClass(f.ClientSet, f, defaultSCName, nil, nil, retainPolicy) if err != nil { - return fmt.Errorf("failed to create storageclass with error %v", err) + return fmt.Errorf("failed to create storageclass: %w", err) } // create pvc pvc, err := loadPVC(pvcPath) if err != nil { - return fmt.Errorf("failed to load PVC with error %v", err) + return fmt.Errorf("failed to load PVC: %w", err) } resizePvc, err := loadPVC(pvcPath) if err != nil { - return fmt.Errorf("failed to load PVC with error %v", err) + return fmt.Errorf("failed to load PVC: %w", err) } resizePvc.Namespace = f.UniqueName @@ -1053,21 +1053,21 @@ func validateController(f *framework.Framework, pvcPath, appPath, scPath string) pvc.Namespace = f.UniqueName err = createPVCAndvalidatePV(f.ClientSet, pvc, deployTimeout) if err != nil { - return fmt.Errorf("failed to create PVC with error %v", err) + return fmt.Errorf("failed to create PVC: %w", err) } // get pvc and pv object pvc, pv, err := getPVCAndPV(f.ClientSet, pvc.Name, pvc.Namespace) if err != nil { - return fmt.Errorf("failed to get PVC with error %v", err) + return fmt.Errorf("failed to get PVC: %w", err) } // Recreate storageclass with delete policy err = deleteResource(scPath) if err != nil { - return fmt.Errorf("failed to delete storageclass with error %v", err) + return fmt.Errorf("failed to delete storageclass: %w", err) } err = createRBDStorageClass(f.ClientSet, f, defaultSCName, nil, nil, deletePolicy) if err != nil { - return fmt.Errorf("failed to create storageclass with error %v", err) + return fmt.Errorf("failed to create storageclass: %w", err) } // delete omap data err = deletePVCImageJournalInPool(f, pvc, poolName) @@ -1081,7 +1081,7 @@ func validateController(f *framework.Framework, pvcPath, appPath, scPath string) // delete pvc and pv err = deletePVCAndPV(f.ClientSet, pvc, pv, deployTimeout) if err != nil { - return fmt.Errorf("failed to delete PVC or PV with error %v", err) + return fmt.Errorf("failed to delete PVC or PV: %w", err) } // create pvc and pv with application pv.Spec.ClaimRef = nil @@ -1091,7 +1091,7 @@ func validateController(f *framework.Framework, pvcPath, appPath, scPath string) pv.ResourceVersion = "" err = createPVCAndPV(f.ClientSet, pvc, pv) if err != nil { - e2elog.Failf("failed to create PVC or PV with error %v", err) + e2elog.Failf("failed to create PVC or PV: %v", err) } // bind PVC to application app, err := loadApp(appPath) diff --git a/internal/rbd/rbd_attach.go b/internal/rbd/rbd_attach.go index 38144592b..d6a57efda 100644 --- a/internal/rbd/rbd_attach.go +++ b/internal/rbd/rbd_attach.go @@ -325,7 +325,7 @@ func createPath(ctx context.Context, volOpt *rbdVolume, device string, cr *util. util.WarningLog(ctx, "rbd: %s unmap error %v", imagePath, detErr) } } - return "", fmt.Errorf("rbd: map failed with error %v, rbd error output: %s", err, stderr) + return "", fmt.Errorf("rbd: map failed with error %w, rbd error output: %s", err, stderr) } devicePath := strings.TrimSuffix(stdout, "\n") diff --git a/internal/rbd/rbd_util.go b/internal/rbd/rbd_util.go index 6faaecb49..bf5a53923 100644 --- a/internal/rbd/rbd_util.go +++ b/internal/rbd/rbd_util.go @@ -265,7 +265,7 @@ func createImage(ctx context.Context, pOpts *rbdVolume, cr *util.Credentials) er if pOpts.isEncrypted() { err = pOpts.setupEncryption(ctx) if err != nil { - return fmt.Errorf("failed to setup encryption for image %s: %v", pOpts, err) + return fmt.Errorf("failed to setup encryption for image %s: %w", pOpts, err) } } @@ -1579,10 +1579,10 @@ func (ri *rbdImage) setThinProvisioned() error { // the expansion can be allocated too. func (ri *rbdImage) isThickProvisioned() (bool, error) { value, err := ri.GetMetadata(thickProvisionMetaKey) - if err == librbd.ErrNotFound { + if errors.Is(err, librbd.ErrNotFound) { // check if the image is having deprecated metadata key. value, err = ri.GetMetadata(deprecatedthickProvisionMetaKey) - if err == librbd.ErrNotFound { + if errors.Is(err, librbd.ErrNotFound) { return false, nil } // If we reach here means the image has deprecated metakey set. Set the diff --git a/internal/util/pidlimit.go b/internal/util/pidlimit.go index e79c6c966..51784c368 100644 --- a/internal/util/pidlimit.go +++ b/internal/util/pidlimit.go @@ -18,6 +18,7 @@ package util import ( "bufio" + "errors" "fmt" "io" "os" @@ -78,7 +79,7 @@ func GetPIDLimit() (int, error) { defer f.Close() // #nosec: error on close is not critical here maxPidsStr, err := bufio.NewReader(f).ReadString('\n') - if err != nil && err != io.EOF { + if err != nil && !errors.Is(err, io.EOF) { return 0, err } maxPidsStr = strings.TrimRight(maxPidsStr, "\n") diff --git a/internal/util/topology.go b/internal/util/topology.go index 7e2125d37..3577ed211 100644 --- a/internal/util/topology.go +++ b/internal/util/topology.go @@ -151,7 +151,7 @@ func GetTopologyFromRequest( err := json.Unmarshal([]byte(strings.Replace(topologyPoolsStr, "\n", " ", -1)), &topologyPools) if err != nil { return nil, nil, fmt.Errorf( - "failed to parse JSON encoded topology constrained pools parameter (%s): %v", + "failed to parse JSON encoded topology constrained pools parameter (%s): %w", topologyPoolsStr, err) } diff --git a/internal/util/topology_test.go b/internal/util/topology_test.go index 233d2e23c..7584e47c5 100644 --- a/internal/util/topology_test.go +++ b/internal/util/topology_test.go @@ -226,7 +226,7 @@ func TestFindPoolAndTopology(t *testing.T) { checkOutput := func(err error, poolName string, topoSegment map[string]string) error { if err != nil { - return fmt.Errorf("expected success, got err (%v)", err) + return fmt.Errorf("expected success, got err (%w)", err) } if poolName != pool1 || !(len(topoSegment) == 2) && topoSegment[topologyPrefix+"/"+label1] == l1Value1 &&