mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-17 20:00:23 +00:00
e2e: address golangci-lint issues
addessed golangci-lint issues in e2e folder. Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
parent
a0921a2706
commit
6961b103b8
@ -23,7 +23,7 @@ import (
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
)
|
||||
|
||||
// #nosec because of the word `Secret`
|
||||
//nolint:gosec // secret for test
|
||||
const (
|
||||
// ceph user names.
|
||||
keyringRBDProvisionerUsername = "cephcsi-rbd-provisioner"
|
||||
@ -110,7 +110,7 @@ func createCephUser(f *framework.Framework, user string, caps []string) (string,
|
||||
}
|
||||
|
||||
func deleteCephUser(f *framework.Framework, user string) error {
|
||||
cmd := fmt.Sprintf("ceph auth del client.%s", user)
|
||||
cmd := "ceph auth del client." + user
|
||||
_, _, err := execCommandInToolBoxPod(f, cmd, rookNamespace)
|
||||
|
||||
return err
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
"sync"
|
||||
|
||||
snapapi "github.com/kubernetes-csi/external-snapshotter/client/v7/apis/volumesnapshot/v1"
|
||||
. "github.com/onsi/ginkgo/v2" //nolint:golint // e2e uses By() and other Ginkgo functions
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@ -735,7 +735,7 @@ var _ = Describe(cephfsType, func() {
|
||||
framework.Failf("failed to create PVC and Deployment: %v", err)
|
||||
}
|
||||
deplPods, err := listPods(f, depl.Namespace, &metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", depl.Labels["app"]),
|
||||
LabelSelector: "app=" + depl.Labels["app"],
|
||||
})
|
||||
if err != nil {
|
||||
framework.Failf("failed to list pods for Deployment: %v", err)
|
||||
@ -744,7 +744,7 @@ var _ = Describe(cephfsType, func() {
|
||||
doStat := func(podName string) (string, error) {
|
||||
_, stdErr, execErr := execCommandInContainerByPodName(
|
||||
f,
|
||||
fmt.Sprintf("stat %s", depl.Spec.Template.Spec.Containers[0].VolumeMounts[0].MountPath),
|
||||
"stat "+depl.Spec.Template.Spec.Containers[0].VolumeMounts[0].MountPath,
|
||||
depl.Namespace,
|
||||
podName,
|
||||
depl.Spec.Template.Spec.Containers[0].Name,
|
||||
@ -808,7 +808,7 @@ var _ = Describe(cephfsType, func() {
|
||||
}
|
||||
// List Deployment's pods again to get name of the new pod.
|
||||
deplPods, err = listPods(f, depl.Namespace, &metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", depl.Labels["app"]),
|
||||
LabelSelector: "app=" + depl.Labels["app"],
|
||||
})
|
||||
if err != nil {
|
||||
framework.Failf("failed to list pods for Deployment: %v", err)
|
||||
@ -1074,13 +1074,13 @@ var _ = Describe(cephfsType, func() {
|
||||
}
|
||||
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", app.Name),
|
||||
LabelSelector: "app=" + app.Name,
|
||||
}
|
||||
|
||||
filePath := app.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
_, stdErr := execCommandInPodAndAllowFail(
|
||||
f,
|
||||
fmt.Sprintf("echo 'Hello World' > %s", filePath),
|
||||
"echo 'Hello World' >"+filePath,
|
||||
app.Namespace,
|
||||
&opt)
|
||||
readOnlyErr := fmt.Sprintf("cannot create %s: Read-only file system", filePath)
|
||||
@ -2407,13 +2407,13 @@ var _ = Describe(cephfsType, func() {
|
||||
}
|
||||
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", app.Name),
|
||||
LabelSelector: "app=" + app.Name,
|
||||
}
|
||||
|
||||
filePath := app.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
_, stdErr := execCommandInPodAndAllowFail(
|
||||
f,
|
||||
fmt.Sprintf("echo 'Hello World' > %s", filePath),
|
||||
"echo 'Hello World' > "+filePath,
|
||||
app.Namespace,
|
||||
&opt)
|
||||
readOnlyErr := fmt.Sprintf("cannot create %s: Read-only file system", filePath)
|
||||
|
@ -338,7 +338,7 @@ func getSnapName(snapNamespace, snapName string) (string, error) {
|
||||
}
|
||||
snapIDRegex := regexp.MustCompile(`(\w+\-?){5}$`)
|
||||
snapID := snapIDRegex.FindString(*sc.Status.SnapshotHandle)
|
||||
snapshotName := fmt.Sprintf("csi-snap-%s", snapID)
|
||||
snapshotName := "csi-snap-" + snapID
|
||||
framework.Logf("snapshotName= %s", snapshotName)
|
||||
|
||||
return snapshotName, nil
|
||||
@ -392,10 +392,10 @@ func validateEncryptedCephfs(f *framework.Framework, pvName, appName string) err
|
||||
LabelSelector: selector,
|
||||
}
|
||||
|
||||
cmd := fmt.Sprintf("getfattr --name=ceph.fscrypt.auth --only-values %s", volumeMountPath)
|
||||
cmd := "getfattr --name=ceph.fscrypt.auth --only-values " + volumeMountPath
|
||||
_, _, err = execCommandInContainer(f, cmd, cephCSINamespace, "csi-cephfsplugin", &opt)
|
||||
if err != nil {
|
||||
cmd = fmt.Sprintf("getfattr --recursive --dump %s", volumeMountPath)
|
||||
cmd = "getfattr --recursive --dump " + volumeMountPath
|
||||
stdOut, stdErr, listErr := execCommandInContainer(f, cmd, cephCSINamespace, "csi-cephfsplugin", &opt)
|
||||
if listErr == nil {
|
||||
return fmt.Errorf("error checking for cephfs fscrypt xattr on %q. listing: %s %s",
|
||||
|
@ -21,7 +21,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
. "github.com/onsi/gomega" //nolint:golint // e2e uses Expect() and other Gomega functions
|
||||
. "github.com/onsi/gomega"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/kubernetes/test/e2e/framework"
|
||||
|
@ -95,8 +95,8 @@ func replaceNamespaceInTemplate(filePath string) (string, error) {
|
||||
}
|
||||
|
||||
// template can contain "default" as namespace, with or without ".
|
||||
templ := strings.ReplaceAll(string(read), "namespace: default", fmt.Sprintf("namespace: %s", cephCSINamespace))
|
||||
templ = strings.ReplaceAll(templ, "namespace: \"default\"", fmt.Sprintf("namespace: %s", cephCSINamespace))
|
||||
templ := strings.ReplaceAll(string(read), "namespace: default", "namespace: "+cephCSINamespace)
|
||||
templ = strings.ReplaceAll(templ, "namespace: \"default\"", "namespace: "+cephCSINamespace)
|
||||
|
||||
return templ, nil
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ import (
|
||||
"time"
|
||||
|
||||
snapapi "github.com/kubernetes-csi/external-snapshotter/client/v7/apis/volumesnapshot/v1"
|
||||
. "github.com/onsi/ginkgo/v2" //nolint:golint // e2e uses By() and other Ginkgo functions
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@ -603,13 +603,13 @@ var _ = Describe("nfs", func() {
|
||||
}
|
||||
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", app.Name),
|
||||
LabelSelector: "app=" + app.Name,
|
||||
}
|
||||
|
||||
filePath := app.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
_, stdErr := execCommandInPodAndAllowFail(
|
||||
f,
|
||||
fmt.Sprintf("echo 'Hello World' > %s", filePath),
|
||||
"echo 'Hello World' > "+filePath,
|
||||
app.Namespace,
|
||||
&opt)
|
||||
readOnlyErr := fmt.Sprintf("cannot create %s: Read-only file system", filePath)
|
||||
|
@ -382,7 +382,7 @@ func waitForPodInRunningState(name, ns string, c kubernetes.Interface, t int, ex
|
||||
case v1.PodPending:
|
||||
if expectedError != "" {
|
||||
events, err := c.CoreV1().Events(ns).List(ctx, metav1.ListOptions{
|
||||
FieldSelector: fmt.Sprintf("involvedObject.name=%s", name),
|
||||
FieldSelector: "involvedObject.name=" + name,
|
||||
})
|
||||
if err != nil {
|
||||
return false, err
|
||||
@ -452,7 +452,7 @@ func deletePodWithLabel(label, ns string, skipNotFound bool) error {
|
||||
|
||||
// calculateSHA512sum returns the sha512sum of a file inside a pod.
|
||||
func calculateSHA512sum(f *framework.Framework, app *v1.Pod, filePath string, opt *metav1.ListOptions) (string, error) {
|
||||
cmd := fmt.Sprintf("sha512sum %s", filePath)
|
||||
cmd := "sha512sum " + filePath
|
||||
sha512sumOut, stdErr, err := execCommandInPod(f, cmd, app.Namespace, opt)
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
33
e2e/rbd.go
33
e2e/rbd.go
@ -19,12 +19,13 @@ package e2e
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/ceph/ceph-csi/internal/util"
|
||||
|
||||
. "github.com/onsi/ginkgo/v2" //nolint:golint // e2e uses By() and other Ginkgo functions
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
@ -536,7 +537,7 @@ var _ = Describe("RBD", func() {
|
||||
})
|
||||
|
||||
By("reattach the old PV to a new PVC and check if PVC metadata is updated on RBD image", func() {
|
||||
reattachPVCNamespace := fmt.Sprintf("%s-2", f.Namespace.Name)
|
||||
reattachPVCNamespace := f.Namespace.Name + "-2"
|
||||
pvc, err := loadPVC(pvcPath)
|
||||
if err != nil {
|
||||
framework.Failf("failed to load PVC: %v", err)
|
||||
@ -1512,7 +1513,7 @@ var _ = Describe("RBD", func() {
|
||||
cmd := fmt.Sprintf("dd if=/dev/zero of=%s bs=1M count=10", devPath)
|
||||
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", app.Name),
|
||||
LabelSelector: "app=" + app.Name,
|
||||
}
|
||||
podList, err := e2epod.PodClientNS(f, app.Namespace).List(context.TODO(), opt)
|
||||
if err != nil {
|
||||
@ -1630,10 +1631,10 @@ var _ = Describe("RBD", func() {
|
||||
validateOmapCount(f, 2, rbdType, defaultRBDPool, volumesType)
|
||||
|
||||
filePath := appClone.Spec.Template.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
cmd := fmt.Sprintf("echo 'Hello World' > %s", filePath)
|
||||
cmd := "echo 'Hello World' > " + filePath
|
||||
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", appClone.Name),
|
||||
LabelSelector: "app=" + appClone.Name,
|
||||
}
|
||||
podList, err := e2epod.PodClientNS(f, appClone.Namespace).List(context.TODO(), opt)
|
||||
if err != nil {
|
||||
@ -1766,7 +1767,7 @@ var _ = Describe("RBD", func() {
|
||||
cmd := fmt.Sprintf("dd if=/dev/zero of=%s bs=1M count=10", devPath)
|
||||
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", appClone.Name),
|
||||
LabelSelector: "app=" + appClone.Name,
|
||||
}
|
||||
podList, err := e2epod.PodClientNS(f, appClone.Namespace).List(context.TODO(), opt)
|
||||
if err != nil {
|
||||
@ -1862,14 +1863,14 @@ var _ = Describe("RBD", func() {
|
||||
}
|
||||
|
||||
appOpt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", app.Name),
|
||||
LabelSelector: "app=" + app.Name,
|
||||
}
|
||||
// TODO: Remove this once we ensure that rbd-nbd can sync data
|
||||
// from Filesystem layer to backend rbd image as part of its
|
||||
// detach or SIGTERM signal handler
|
||||
_, stdErr, err := execCommandInPod(
|
||||
f,
|
||||
fmt.Sprintf("sync %s", app.Spec.Containers[0].VolumeMounts[0].MountPath),
|
||||
"sync "+app.Spec.Containers[0].VolumeMounts[0].MountPath,
|
||||
app.Namespace,
|
||||
&appOpt)
|
||||
if err != nil || stdErr != "" {
|
||||
@ -1956,7 +1957,7 @@ var _ = Describe("RBD", func() {
|
||||
filePath := app.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
_, stdErr, err = execCommandInPod(
|
||||
f,
|
||||
fmt.Sprintf("echo 'Hello World' > %s", filePath),
|
||||
"echo 'Hello World' > "+filePath,
|
||||
app.Namespace,
|
||||
&appOpt)
|
||||
if err != nil || stdErr != "" {
|
||||
@ -3331,13 +3332,13 @@ var _ = Describe("RBD", func() {
|
||||
for i := 0; i < totalCount; i++ {
|
||||
name := fmt.Sprintf("%s%d", f.UniqueName, i)
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", name),
|
||||
LabelSelector: "app=" + name,
|
||||
}
|
||||
|
||||
filePath := appClone.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
_, stdErr := execCommandInPodAndAllowFail(
|
||||
f,
|
||||
fmt.Sprintf("echo 'Hello World' > %s", filePath),
|
||||
"echo 'Hello World' > "+filePath,
|
||||
appClone.Namespace,
|
||||
&opt)
|
||||
readOnlyErr := fmt.Sprintf("cannot create %s: Read-only file system", filePath)
|
||||
@ -3961,13 +3962,13 @@ var _ = Describe("RBD", func() {
|
||||
validateOmapCount(f, 1, rbdType, defaultRBDPool, volumesType)
|
||||
|
||||
opt := metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", app.Name),
|
||||
LabelSelector: "app=" + app.Name,
|
||||
}
|
||||
|
||||
filePath := app.Spec.Containers[0].VolumeMounts[0].MountPath + "/test"
|
||||
_, stdErr := execCommandInPodAndAllowFail(
|
||||
f,
|
||||
fmt.Sprintf("echo 'Hello World' > %s", filePath),
|
||||
"echo 'Hello World' > "+filePath,
|
||||
app.Namespace,
|
||||
&opt)
|
||||
readOnlyErr := fmt.Sprintf("cannot create %s: Read-only file system", filePath)
|
||||
@ -4350,9 +4351,9 @@ var _ = Describe("RBD", func() {
|
||||
defaultSCName,
|
||||
nil,
|
||||
map[string]string{
|
||||
"stripeUnit": fmt.Sprintf("%d", stripeUnit),
|
||||
"stripeCount": fmt.Sprintf("%d", stripeCount),
|
||||
"objectSize": fmt.Sprintf("%d", objectSize),
|
||||
"stripeUnit": strconv.Itoa(stripeUnit),
|
||||
"stripeCount": strconv.Itoa(stripeCount),
|
||||
"objectSize": strconv.Itoa(objectSize),
|
||||
},
|
||||
deletePolicy)
|
||||
if err != nil {
|
||||
|
@ -118,7 +118,7 @@ func createRBDStorageClass(
|
||||
scOptions, parameters map[string]string,
|
||||
policy v1.PersistentVolumeReclaimPolicy,
|
||||
) error {
|
||||
scPath := fmt.Sprintf("%s/%s", rbdExamplePath, "storageclass.yaml")
|
||||
scPath := rbdExamplePath + "/" + "storageclass.yaml"
|
||||
sc, err := getStorageClass(scPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get sc: %w", err)
|
||||
@ -184,7 +184,7 @@ func createRBDStorageClass(
|
||||
|
||||
func createRadosNamespace(f *framework.Framework) error {
|
||||
stdOut, stdErr, err := execCommandInToolBoxPod(f,
|
||||
fmt.Sprintf("rbd namespace ls --pool=%s", defaultRBDPool), rookNamespace)
|
||||
"rbd namespace ls --pool="+defaultRBDPool, rookNamespace)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -193,7 +193,7 @@ func createRadosNamespace(f *framework.Framework) error {
|
||||
}
|
||||
if !strings.Contains(stdOut, radosNamespace) {
|
||||
_, stdErr, err = execCommandInToolBoxPod(f,
|
||||
fmt.Sprintf("rbd namespace create %s", rbdOptions(defaultRBDPool)), rookNamespace)
|
||||
"rbd namespace create "+rbdOptions(defaultRBDPool), rookNamespace)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -202,7 +202,7 @@ func createRadosNamespace(f *framework.Framework) error {
|
||||
}
|
||||
}
|
||||
stdOut, stdErr, err = execCommandInToolBoxPod(f,
|
||||
fmt.Sprintf("rbd namespace ls --pool=%s", rbdTopologyPool), rookNamespace)
|
||||
"rbd namespace ls --pool="+rbdTopologyPool, rookNamespace)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -212,7 +212,7 @@ func createRadosNamespace(f *framework.Framework) error {
|
||||
|
||||
if !strings.Contains(stdOut, radosNamespace) {
|
||||
_, stdErr, err = execCommandInToolBoxPod(f,
|
||||
fmt.Sprintf("rbd namespace create %s", rbdOptions(rbdTopologyPool)), rookNamespace)
|
||||
"rbd namespace create "+rbdOptions(rbdTopologyPool), rookNamespace)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -269,7 +269,7 @@ func getImageInfoFromPVC(pvcNamespace, pvcName string, f *framework.Framework) (
|
||||
|
||||
imageData = imageInfoFromPVC{
|
||||
imageID: imageID,
|
||||
imageName: fmt.Sprintf("csi-vol-%s", imageID),
|
||||
imageName: "csi-vol-" + imageID,
|
||||
csiVolumeHandle: pv.Spec.CSI.VolumeHandle,
|
||||
pvName: pv.Name,
|
||||
}
|
||||
@ -671,7 +671,7 @@ func validateEncryptedFilesystem(f *framework.Framework, rbdImageSpec, pvName, a
|
||||
cmd := fmt.Sprintf("lsattr -la %s | grep -E '%s/.\\s+Encrypted'", volumeMountPath, volumeMountPath)
|
||||
_, _, err = execCommandInContainer(f, cmd, cephCSINamespace, "csi-rbdplugin", &opt)
|
||||
if err != nil {
|
||||
cmd = fmt.Sprintf("lsattr -lRa %s", volumeMountPath)
|
||||
cmd = "lsattr -lRa " + volumeMountPath
|
||||
stdOut, stdErr, listErr := execCommandInContainer(f, cmd, cephCSINamespace, "csi-rbdplugin", &opt)
|
||||
if listErr == nil {
|
||||
return fmt.Errorf("error checking file encrypted attribute of %q. listing filesystem+attrs: %s %s",
|
||||
@ -697,7 +697,7 @@ func listRBDImages(f *framework.Framework, pool string) ([]string, error) {
|
||||
var imgInfos []string
|
||||
|
||||
stdout, stdErr, err := execCommandInToolBoxPod(f,
|
||||
fmt.Sprintf("rbd ls --format=json %s", rbdOptions(pool)), rookNamespace)
|
||||
"rbd ls --format=json "+rbdOptions(pool), rookNamespace)
|
||||
if err != nil {
|
||||
return imgInfos, err
|
||||
}
|
||||
@ -744,7 +744,7 @@ type rbdDuImageList struct {
|
||||
// getRbdDu runs 'rbd du' on the RBD image and returns a rbdDuImage struct with
|
||||
// the result.
|
||||
//
|
||||
//nolint:deadcode,unused // required for reclaimspace e2e.
|
||||
//nolint:unused // Unused code will be used in future.
|
||||
func getRbdDu(f *framework.Framework, pvc *v1.PersistentVolumeClaim) (*rbdDuImage, error) {
|
||||
rdil := rbdDuImageList{}
|
||||
|
||||
@ -778,7 +778,7 @@ func getRbdDu(f *framework.Framework, pvc *v1.PersistentVolumeClaim) (*rbdDuImag
|
||||
// take up any space anymore. This can be used to verify that an empty, but
|
||||
// allocated (with zerofill) extents have been released.
|
||||
//
|
||||
//nolint:deadcode,unused // required for reclaimspace e2e.
|
||||
//nolint:unused // Unused code will be used in future.
|
||||
func sparsifyBackingRBDImage(f *framework.Framework, pvc *v1.PersistentVolumeClaim) error {
|
||||
imageData, err := getImageInfoFromPVC(pvc.Namespace, pvc.Name, f)
|
||||
if err != nil {
|
||||
@ -802,7 +802,7 @@ func deletePool(name string, cephFS bool, f *framework.Framework) error {
|
||||
// --yes-i-really-mean-it
|
||||
// ceph osd pool delete myfs-replicated myfs-replicated
|
||||
// --yes-i-really-mean-it
|
||||
cmds = append(cmds, fmt.Sprintf("ceph fs fail %s", name),
|
||||
cmds = append(cmds, "ceph fs fail "+name,
|
||||
fmt.Sprintf("ceph fs rm %s --yes-i-really-mean-it", name),
|
||||
fmt.Sprintf("ceph osd pool delete %s-metadata %s-metadata --yes-i-really-really-mean-it", name, name),
|
||||
fmt.Sprintf("ceph osd pool delete %s-replicated %s-replicated --yes-i-really-really-mean-it", name, name))
|
||||
@ -850,7 +850,7 @@ func getPVCImageInfoInPool(f *framework.Framework, pvc *v1.PersistentVolumeClaim
|
||||
}
|
||||
|
||||
stdOut, stdErr, err := execCommandInToolBoxPod(f,
|
||||
fmt.Sprintf("rbd info %s", imageSpec(pool, imageData.imageName)), rookNamespace)
|
||||
"rbd info "+imageSpec(pool, imageData.imageName), rookNamespace)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@ -1021,7 +1021,7 @@ func listRBDImagesInTrash(f *framework.Framework, poolName string) ([]trashInfo,
|
||||
var trashInfos []trashInfo
|
||||
|
||||
stdout, stdErr, err := execCommandInToolBoxPod(f,
|
||||
fmt.Sprintf("rbd trash ls --format=json %s", rbdOptions(poolName)), rookNamespace)
|
||||
"rbd trash ls --format=json "+rbdOptions(poolName), rookNamespace)
|
||||
if err != nil {
|
||||
return trashInfos, err
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
. "github.com/onsi/gomega" //nolint:golint // e2e uses Expect() and other Gomega functions
|
||||
. "github.com/onsi/gomega"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@ -179,7 +179,7 @@ func getDirSizeCheckCmd(dirPath string) string {
|
||||
}
|
||||
|
||||
func getDeviceSizeCheckCmd(devPath string) string {
|
||||
return fmt.Sprintf("blockdev --getsize64 %s", devPath)
|
||||
return "blockdev --getsize64 " + devPath
|
||||
}
|
||||
|
||||
func checkAppMntSize(f *framework.Framework, opt *metav1.ListOptions, size, cmd, ns string, t int) error {
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
|
||||
snapapi "github.com/kubernetes-csi/external-snapshotter/client/v7/apis/volumesnapshot/v1"
|
||||
snapclient "github.com/kubernetes-csi/external-snapshotter/client/v7/clientset/versioned/typed/volumesnapshot/v1"
|
||||
. "github.com/onsi/gomega" //nolint:golint // e2e uses Expect() and other Gomega functions
|
||||
. "github.com/onsi/gomega"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
. "github.com/onsi/ginkgo/v2" //nolint:golint // e2e uses By() and other Ginkgo functions
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@ -234,7 +234,7 @@ var _ = Describe("CephFS Upgrade Testing", func() {
|
||||
}
|
||||
|
||||
// force an immediate write of all cached data to disk.
|
||||
_, stdErr = execCommandInPodAndAllowFail(f, fmt.Sprintf("sync %s", filePath), app.Namespace, &opt)
|
||||
_, stdErr = execCommandInPodAndAllowFail(f, "sync "+filePath, app.Namespace, &opt)
|
||||
if stdErr != "" {
|
||||
framework.Failf("failed to sync data to a disk %s", stdErr)
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
. "github.com/onsi/ginkgo/v2" //nolint:golint // e2e uses By() and other Ginkgo functions
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@ -239,13 +239,13 @@ var _ = Describe("RBD Upgrade Testing", func() {
|
||||
}
|
||||
|
||||
// force an immediate write of all cached data to disk.
|
||||
_, stdErr = execCommandInPodAndAllowFail(f, fmt.Sprintf("sync %s", filePath), app.Namespace, &opt)
|
||||
_, stdErr = execCommandInPodAndAllowFail(f, "sync "+filePath, app.Namespace, &opt)
|
||||
if stdErr != "" {
|
||||
framework.Failf("failed to sync data to a disk %s", stdErr)
|
||||
}
|
||||
|
||||
opt = metav1.ListOptions{
|
||||
LabelSelector: fmt.Sprintf("app=%s", appLabel),
|
||||
LabelSelector: "app=" + appLabel,
|
||||
}
|
||||
framework.Logf("Calculating checksum of %s", filePath)
|
||||
checkSum, err = calculateSHA512sum(f, app, filePath, &opt)
|
||||
|
18
e2e/utils.go
18
e2e/utils.go
@ -183,9 +183,9 @@ func validateOmapCount(f *framework.Framework, count int, driver, pool, mode str
|
||||
{
|
||||
volumeMode: volumesType,
|
||||
driverType: rbdType,
|
||||
radosLsCmd: fmt.Sprintf("rados ls %s", rbdOptions(pool)),
|
||||
radosLsCmd: "rados ls " + rbdOptions(pool),
|
||||
radosLsCmdFilter: fmt.Sprintf("rados ls %s | grep -v default | grep -c ^csi.volume.", rbdOptions(pool)),
|
||||
radosLsKeysCmd: fmt.Sprintf("rados listomapkeys csi.volumes.default %s", rbdOptions(pool)),
|
||||
radosLsKeysCmd: "rados listomapkeys csi.volumes.default " + rbdOptions(pool),
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.volumes.default %s | wc -l", rbdOptions(pool)),
|
||||
},
|
||||
{
|
||||
@ -201,9 +201,9 @@ func validateOmapCount(f *framework.Framework, count int, driver, pool, mode str
|
||||
{
|
||||
volumeMode: snapsType,
|
||||
driverType: rbdType,
|
||||
radosLsCmd: fmt.Sprintf("rados ls %s", rbdOptions(pool)),
|
||||
radosLsCmd: "rados ls " + rbdOptions(pool),
|
||||
radosLsCmdFilter: fmt.Sprintf("rados ls %s | grep -v default | grep -c ^csi.snap.", rbdOptions(pool)),
|
||||
radosLsKeysCmd: fmt.Sprintf("rados listomapkeys csi.snaps.default %s", rbdOptions(pool)),
|
||||
radosLsKeysCmd: "rados listomapkeys csi.snaps.default " + rbdOptions(pool),
|
||||
radosLsKeysCmdFilter: fmt.Sprintf("rados listomapkeys csi.snaps.default %s | wc -l", rbdOptions(pool)),
|
||||
},
|
||||
}
|
||||
@ -716,7 +716,7 @@ func checkDataPersist(pvcPath, appPath string, f *framework.Framework) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
persistData, stdErr, err := execCommandInPod(f, fmt.Sprintf("cat %s", filePath), app.Namespace, &opt)
|
||||
persistData, stdErr, err := execCommandInPod(f, "cat "+filePath, app.Namespace, &opt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -793,7 +793,7 @@ func checkMountOptions(pvcPath, appPath string, f *framework.Framework, mountFla
|
||||
LabelSelector: "app=validate-mount-opt",
|
||||
}
|
||||
|
||||
cmd := fmt.Sprintf("mount |grep %s", app.Spec.Containers[0].VolumeMounts[0].MountPath)
|
||||
cmd := "mount |grep " + app.Spec.Containers[0].VolumeMounts[0].MountPath
|
||||
data, stdErr, err := execCommandInPod(f, cmd, app.Namespace, &opt)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -1545,7 +1545,7 @@ func validateController(
|
||||
// If fetching the ServerVersion of the Kubernetes cluster fails, the calling
|
||||
// test case is marked as `FAILED` and gets aborted.
|
||||
//
|
||||
//nolint:deadcode,unused // Unused code will be used in future.
|
||||
//nolint:unused // Unused code will be used in future.
|
||||
func k8sVersionGreaterEquals(c kubernetes.Interface, major, minor int) bool {
|
||||
v, err := c.Discovery().ServerVersion()
|
||||
if err != nil {
|
||||
@ -1555,8 +1555,8 @@ func k8sVersionGreaterEquals(c kubernetes.Interface, major, minor int) bool {
|
||||
// return value.
|
||||
}
|
||||
|
||||
maj := fmt.Sprintf("%d", major)
|
||||
min := fmt.Sprintf("%d", minor)
|
||||
maj := strconv.Itoa(major)
|
||||
min := strconv.Itoa(minor)
|
||||
|
||||
return (v.Major > maj) || (v.Major == maj && v.Minor >= min)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user