From c45c426215c8df87cf060f440770af0d7f62a032 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 25 Feb 2020 17:15:54 +0530 Subject: [PATCH] Add cephcsi namespace and rook namespace flag Added namespace flag to cephcsi to deploy cephcsi resouces in different namespace. Signed-off-by: Madhu Rajanna --- e2e/README.md | 16 ++++++----- e2e/cephfs.go | 65 ++++++++++++++++++++++++++++++++------------- e2e/deploy-vault.go | 22 ++++++++------- e2e/e2e_test.go | 11 +++++--- e2e/rbd.go | 65 +++++++++++++++++++++++++++++++-------------- e2e/staticpvc.go | 8 +++--- e2e/utils.go | 38 +++++++++++++------------- 7 files changed, 144 insertions(+), 81 deletions(-) diff --git a/e2e/README.md b/e2e/README.md index 9e82fae13..7e0552399 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -70,12 +70,16 @@ $./minikube.sh clean In addition to standard go tests parameters, the following custom parameters are available while running tests: -| flag | description | -| -------------- | ----------------------------------------------------------------------------- | -| deploy-timeout | Timeout to wait for created kubernetes resources (default: 10) | -| kubeconfig | Path to kubeconfig containing embedded authinfo (default: $HOME/.kube/config) | -| timeout | Panic test binary after duration d (default 0, timeout disabled) | -| v | Verbose: print additional output | +| flag | description | +| ----------------- | ----------------------------------------------------------------------------- | +| deploy-timeout | Timeout to wait for created kubernetes resources (default: 10) | +| deploy-cephfs | Deploy cephfs csi driver as part of E2E (default: true) | +| deploy-rbd | Deploy rbd csi driver as part of E2E (default: true) | +| cephcsi-namespace | The namespace in which cephcsi driver will be created (default: "default") | +| rook-namespace | The namespace in which rook operator is installed (default: "rook-ceph") | +| kubeconfig | Path to kubeconfig containing embedded authinfo (default: $HOME/.kube/config) | +| timeout | Panic test binary after duration d (default 0, timeout disabled) | +| v | Verbose: print additional output | ## Running E2E diff --git a/e2e/cephfs.go b/e2e/cephfs.go index 602573ad4..21d8b46eb 100644 --- a/e2e/cephfs.go +++ b/e2e/cephfs.go @@ -2,9 +2,13 @@ package e2e import ( "fmt" + "time" . "github.com/onsi/ginkgo" // nolint + v1 "k8s.io/api/core/v1" + apierrs "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" "k8s.io/kubernetes/test/e2e/framework" e2elog "k8s.io/kubernetes/test/e2e/framework/log" @@ -25,40 +29,40 @@ var ( func deployCephfsPlugin() { // delete objects deployed by rook - framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", cephfsDirPath+cephfsProvisionerRBAC) - framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", cephfsDirPath+cephfsNodePluginRBAC) + framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", cephfsDirPath+cephfsProvisionerRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", cephfsDirPath+cephfsNodePluginRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) // deploy provisioner - framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsProvisioner) - framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsProvisionerRBAC) - framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsProvisionerPSP) + framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsProvisioner, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsProvisionerRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsProvisionerPSP, fmt.Sprintf("--namespace=%s", cephCSINamespace)) // deploy nodeplugin - framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsNodePlugin) - framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsNodePluginRBAC) - framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsNodePluginPSP) + framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsNodePlugin, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsNodePluginRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", cephfsDirPath+cephfsNodePluginPSP, fmt.Sprintf("--namespace=%s", cephCSINamespace)) } func deleteCephfsPlugin() { - _, err := framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsProvisioner) + _, err := framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsProvisioner, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete cephfs provisioner %v", err) } - _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsProvisionerRBAC) + _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsProvisionerRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete cephfs provisioner rbac %v", err) } - _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsProvisionerPSP) + _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsProvisionerPSP, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete cephfs provisioner psp %v", err) } - _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsNodePlugin) + _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsNodePlugin, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete cephfs nodeplugin %v", err) } - _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsNodePluginRBAC) + _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsNodePluginRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete cephfs nodeplugin rbac %v", err) } - _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsNodePluginPSP) + _, err = framework.RunKubectl("delete", "-f", cephfsDirPath+cephfsNodePluginPSP, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete cephfs nodeplugin psp %v", err) } @@ -72,6 +76,19 @@ var _ = Describe("cephfs", func() { c = f.ClientSet createConfigMap(cephfsDirPath, f.ClientSet, f) if deployCephFS { + if cephCSINamespace != defaultNs { + // create namespace + ns := &v1.Namespace{ + ObjectMeta: metav1.ObjectMeta{ + Name: cephCSINamespace, + }, + } + _, err := c.CoreV1().Namespaces().Create(ns) + if err != nil && !apierrs.IsAlreadyExists(err) { + Fail(err.Error()) + } + } + deployCephfsPlugin() } createCephfsSecret(f.ClientSet, f) @@ -84,12 +101,22 @@ var _ = Describe("cephfs", func() { // log node plugin logsCSIPods("app=csi-cephfsplugin", c) } - if deployCephFS { - deleteCephfsPlugin() - } deleteConfigMap(cephfsDirPath) deleteResource(cephfsExamplePath + "secret.yaml") deleteResource(cephfsExamplePath + "storageclass.yaml") + if deployCephFS { + deleteCephfsPlugin() + if cephCSINamespace != defaultNs { + err := c.CoreV1().Namespaces().Delete(cephCSINamespace, nil) + if err != nil && !apierrs.IsNotFound(err) { + Fail(err.Error()) + } + err = framework.WaitForNamespacesDeleted(c, []string{cephCSINamespace}, time.Duration(deployTimeout)*time.Minute) + if err != nil { + Fail(err.Error()) + } + } + } }) Context("Test cephfs CSI", func() { @@ -99,13 +126,13 @@ var _ = Describe("cephfs", func() { By("checking provisioner deployment is running") var err error - err = waitForDeploymentComplete(cephfsDeploymentName, namespace, f.ClientSet, deployTimeout) + err = waitForDeploymentComplete(cephfsDeploymentName, cephCSINamespace, f.ClientSet, deployTimeout) if err != nil { Fail(err.Error()) } By("checking nodeplugin deamonsets is running") - err = waitForDaemonSets(cephfsDeamonSetName, namespace, f.ClientSet, deployTimeout) + err = waitForDaemonSets(cephfsDeamonSetName, cephCSINamespace, f.ClientSet, deployTimeout) if err != nil { Fail(err.Error()) } diff --git a/e2e/deploy-vault.go b/e2e/deploy-vault.go index 76ca94539..76f2a2541 100644 --- a/e2e/deploy-vault.go +++ b/e2e/deploy-vault.go @@ -1,6 +1,8 @@ package e2e import ( + "fmt" + . "github.com/onsi/gomega" // nolint metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" @@ -17,37 +19,37 @@ var ( ) func deployVault(c kubernetes.Interface, deployTimeout int) { - framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultServicePath) - framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultPSPPath) - framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultRBACPath) - framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultConfigPath) + framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultServicePath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultPSPPath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultRBACPath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", vaultExamplePath+vaultConfigPath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) opt := metav1.ListOptions{ LabelSelector: "app=vault", } - pods, err := c.CoreV1().Pods("default").List(opt) + pods, err := c.CoreV1().Pods(cephCSINamespace).List(opt) Expect(err).Should(BeNil()) Expect(len(pods.Items)).Should(Equal(1)) name := pods.Items[0].Name - err = waitForPodInRunningState(name, "default", c, deployTimeout) + err = waitForPodInRunningState(name, cephCSINamespace, c, deployTimeout) Expect(err).Should(BeNil()) } func deleteVault() { - _, err := framework.RunKubectl("delete", "-f", vaultExamplePath+vaultServicePath) + _, err := framework.RunKubectl("delete", "-f", vaultExamplePath+vaultServicePath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete vault statefull set %v", err) } - _, err = framework.RunKubectl("delete", "-f", vaultExamplePath+vaultRBACPath) + _, err = framework.RunKubectl("delete", "-f", vaultExamplePath+vaultRBACPath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete vault statefull set %v", err) } - _, err = framework.RunKubectl("delete", "-f", vaultExamplePath+vaultConfigPath) + _, err = framework.RunKubectl("delete", "-f", vaultExamplePath+vaultConfigPath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete vault config map %v", err) } - _, err = framework.RunKubectl("delete", "-f", vaultExamplePath+vaultPSPPath) + _, err = framework.RunKubectl("delete", "-f", vaultExamplePath+vaultPSPPath, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete vault psp %v", err) } diff --git a/e2e/e2e_test.go b/e2e/e2e_test.go index 859e3f7cf..e47555f10 100644 --- a/e2e/e2e_test.go +++ b/e2e/e2e_test.go @@ -15,9 +15,11 @@ import ( ) var ( - deployTimeout int - deployCephFS bool - deployRBD bool + deployTimeout int + deployCephFS bool + deployRBD bool + cephCSINamespace string + rookNamespace string ) func init() { @@ -26,7 +28,8 @@ func init() { flag.IntVar(&deployTimeout, "deploy-timeout", 10, "timeout to wait for created kubernetes resources") flag.BoolVar(&deployCephFS, "deploy-cephfs", true, "deploy cephfs csi driver") flag.BoolVar(&deployRBD, "deploy-rbd", true, "deploy rbd csi driver") - + flag.StringVar(&cephCSINamespace, "cephcsi-namespace", defaultNs, "namespace in which cephcsi deployed") + flag.StringVar(&rookNamespace, "rook-namespace", "rook-ceph", "namespace in which rook is deployed") setDefaultKubeconfig() // Register framework flags, then handle flags diff --git a/e2e/rbd.go b/e2e/rbd.go index 2e70799bd..f768d8912 100644 --- a/e2e/rbd.go +++ b/e2e/rbd.go @@ -3,9 +3,13 @@ package e2e import ( "fmt" "strings" + "time" . "github.com/onsi/ginkgo" // nolint + v1 "k8s.io/api/core/v1" + apierrs "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" "k8s.io/kubernetes/test/e2e/framework" e2elog "k8s.io/kubernetes/test/e2e/framework/log" @@ -23,29 +27,28 @@ var ( rbdExamplePath = "../examples/rbd/" rbdDeploymentName = "csi-rbdplugin-provisioner" rbdDaemonsetName = "csi-rbdplugin" - namespace = "default" ) func deployRBDPlugin() { // delete objects deployed by rook - framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", rbdDirPath+rbdProvisionerRBAC) - framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", rbdDirPath+rbdNodePluginRBAC) + framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", rbdDirPath+rbdProvisionerRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", rbdDirPath+rbdNodePluginRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) // deploy provisioner - framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdProvisioner) - framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdProvisionerRBAC) - framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdProvisionerPSP) + framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdProvisioner, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdProvisionerRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdProvisionerPSP, fmt.Sprintf("--namespace=%s", cephCSINamespace)) // deploy nodeplugin - framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdNodePlugin) - framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdNodePluginRBAC) - framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdNodePluginPSP) + framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdNodePlugin, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdNodePluginRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) + framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdNodePluginPSP, fmt.Sprintf("--namespace=%s", cephCSINamespace)) } func deleteRBDPlugin() { - _, err := framework.RunKubectl("delete", "-f", rbdDirPath+rbdProvisioner) + _, err := framework.RunKubectl("delete", "-f", rbdDirPath+rbdProvisioner, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete rbd provisioner %v", err) } - _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdProvisionerRBAC) + _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdProvisionerRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace), fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete provisioner rbac %v", err) } @@ -53,15 +56,15 @@ func deleteRBDPlugin() { if err != nil { e2elog.Logf("failed to delete provisioner psp %v", err) } - _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdNodePlugin) + _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdNodePlugin, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete nodeplugin %v", err) } - _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdNodePluginRBAC) + _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdNodePluginRBAC, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete nodeplugin rbac %v", err) } - _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdNodePluginPSP) + _, err = framework.RunKubectl("delete", "-f", rbdDirPath+rbdNodePluginPSP, fmt.Sprintf("--namespace=%s", cephCSINamespace)) if err != nil { e2elog.Logf("failed to delete nodeplugin psp %v", err) } @@ -75,6 +78,17 @@ var _ = Describe("RBD", func() { c = f.ClientSet createConfigMap(rbdDirPath, f.ClientSet, f) if deployRBD { + if cephCSINamespace != defaultNs { + ns := &v1.Namespace{ + ObjectMeta: metav1.ObjectMeta{ + Name: cephCSINamespace, + }, + } + _, err := c.CoreV1().Namespaces().Create(ns) + if err != nil && !apierrs.IsAlreadyExists(err) { + Fail(err.Error()) + } + } deployRBDPlugin() } createRBDStorageClass(f.ClientSet, f, make(map[string]string)) @@ -89,14 +103,25 @@ var _ = Describe("RBD", func() { // log node plugin logsCSIPods("app=csi-rbdplugin", c) } - if deployRBD { - deleteRBDPlugin() - } + deleteConfigMap(rbdDirPath) deleteResource(rbdExamplePath + "secret.yaml") deleteResource(rbdExamplePath + "storageclass.yaml") // deleteResource(rbdExamplePath + "snapshotclass.yaml") deleteVault() + if deployRBD { + deleteRBDPlugin() + if cephCSINamespace != defaultNs { + err := c.CoreV1().Namespaces().Delete(cephCSINamespace, nil) + if err != nil && !apierrs.IsNotFound(err) { + Fail(err.Error()) + } + err = framework.WaitForNamespacesDeleted(c, []string{cephCSINamespace}, time.Duration(deployTimeout)*time.Minute) + if err != nil { + Fail(err.Error()) + } + } + } }) Context("Test RBD CSI", func() { @@ -111,13 +136,13 @@ var _ = Describe("RBD", func() { By("checking provisioner deployment is running") var err error - err = waitForDeploymentComplete(rbdDeploymentName, namespace, f.ClientSet, deployTimeout) + err = waitForDeploymentComplete(rbdDeploymentName, cephCSINamespace, f.ClientSet, deployTimeout) if err != nil { Fail(err.Error()) } By("checking nodeplugin deamonsets is running") - err = waitForDaemonSets(rbdDaemonsetName, namespace, f.ClientSet, deployTimeout) + err = waitForDaemonSets(rbdDaemonsetName, cephCSINamespace, f.ClientSet, deployTimeout) if err != nil { Fail(err.Error()) } @@ -333,7 +358,7 @@ var _ = Describe("RBD", func() { Fail(err.Error()) } // wait for nodeplugin pods to come up - err = waitForDaemonSets(rbdDaemonsetName, namespace, f.ClientSet, deployTimeout) + err = waitForDaemonSets(rbdDaemonsetName, cephCSINamespace, f.ClientSet, deployTimeout) if err != nil { Fail(err.Error()) } diff --git a/e2e/staticpvc.go b/e2e/staticpvc.go index 0b65b2ce1..ace5ad11e 100644 --- a/e2e/staticpvc.go +++ b/e2e/staticpvc.go @@ -94,7 +94,7 @@ func validateRBDStaticPV(f *framework.Framework, appPath string, isBlock bool) e LabelSelector: "app=rook-ceph-tools", } - fsID, e := execCommandInPod(f, "ceph fsid", rookNS, &listOpt) + fsID, e := execCommandInPod(f, "ceph fsid", rookNamespace, &listOpt) if e != "" { return fmt.Errorf("failed to get fsid from ceph cluster %s", e) } @@ -104,7 +104,7 @@ func validateRBDStaticPV(f *framework.Framework, appPath string, isBlock bool) e // create rbd image cmd := fmt.Sprintf("rbd create %s --size=%d --pool=replicapool --image-feature=layering", rbdImageName, 4096) - _, e = execCommandInPod(f, cmd, rookNS, &listOpt) + _, e = execCommandInPod(f, cmd, rookNamespace, &listOpt) if e != "" { return fmt.Errorf("failed to create rbd image %s", e) } @@ -113,7 +113,7 @@ func validateRBDStaticPV(f *framework.Framework, appPath string, isBlock bool) e opt["pool"] = "replicapool" opt["staticVolume"] = "true" - pv := getStaticPV(pvName, rbdImageName, size, "csi-rbd-secret", "default", sc, "rbd.csi.ceph.com", isBlock, opt) + pv := getStaticPV(pvName, rbdImageName, size, "csi-rbd-secret", cephCSINamespace, sc, "rbd.csi.ceph.com", isBlock, opt) _, err := c.CoreV1().PersistentVolumes().Create(pv) if err != nil { @@ -155,6 +155,6 @@ func validateRBDStaticPV(f *framework.Framework, appPath string, isBlock bool) e } cmd = fmt.Sprintf("rbd rm %s --pool=replicapool", rbdImageName) - execCommandInPod(f, cmd, rookNS, &listOpt) + execCommandInPod(f, cmd, rookNamespace, &listOpt) return nil } diff --git a/e2e/utils.go b/e2e/utils.go index 2e827d235..6a26f1bb4 100644 --- a/e2e/utils.go +++ b/e2e/utils.go @@ -31,12 +31,14 @@ import ( ) const ( - rookNS = "rook-ceph" - vaultAddr = "http://vault.default.svc.cluster.local:8200" + defaultNs = "default" vaultSecretNs = "/secret/ceph-csi/" // nolint: gosec, #nosec ) -var poll = 2 * time.Second +var ( + vaultAddr = fmt.Sprintf("http://vault.%s.svc.cluster.local:8200", cephCSINamespace) + poll = 2 * time.Second +) // type snapInfo struct { // ID int64 `json:"id"` @@ -195,7 +197,7 @@ func createCephfsStorageClass(c kubernetes.Interface, f *framework.Framework, en opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - fsID, stdErr := execCommandInPod(f, "ceph fsid", rookNS, &opt) + fsID, stdErr := execCommandInPod(f, "ceph fsid", rookNamespace, &opt) Expect(stdErr).Should(BeEmpty()) // remove new line present in fsID fsID = strings.Trim(fsID, "\n") @@ -212,7 +214,7 @@ func createRBDStorageClass(c kubernetes.Interface, f *framework.Framework, param opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - fsID, stdErr := execCommandInPod(f, "ceph fsid", rookNS, &opt) + fsID, stdErr := execCommandInPod(f, "ceph fsid", rookNamespace, &opt) Expect(stdErr).Should(BeEmpty()) // remove new line present in fsID fsID = strings.Trim(fsID, "\n") @@ -269,12 +271,12 @@ func createConfigMap(pluginPath string, c kubernetes.Interface, f *framework.Fra opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - fsID, stdErr := execCommandInPod(f, "ceph fsid", rookNS, &opt) + fsID, stdErr := execCommandInPod(f, "ceph fsid", rookNamespace, &opt) Expect(stdErr).Should(BeEmpty()) // remove new line present in fsID fsID = strings.Trim(fsID, "\n") // get mon list - mons := getMons(rookNS, c) + mons := getMons(rookNamespace, c) conmap := []struct { Clusterid string `json:"clusterID"` Monitors []string `json:"monitors"` @@ -287,7 +289,7 @@ func createConfigMap(pluginPath string, c kubernetes.Interface, f *framework.Fra data, err := json.Marshal(conmap) Expect(err).Should(BeNil()) cm.Data["config.json"] = string(data) - _, err = c.CoreV1().ConfigMaps("default").Create(&cm) + _, err = c.CoreV1().ConfigMaps(cephCSINamespace).Create(&cm) Expect(err).Should(BeNil()) } @@ -309,13 +311,13 @@ func createCephfsSecret(c kubernetes.Interface, f *framework.Framework) { opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - adminKey, stdErr := execCommandInPod(f, "ceph auth get-key client.admin", rookNS, &opt) + adminKey, stdErr := execCommandInPod(f, "ceph auth get-key client.admin", rookNamespace, &opt) Expect(stdErr).Should(BeEmpty()) sc.StringData["adminID"] = "admin" sc.StringData["adminKey"] = adminKey delete(sc.StringData, "userID") delete(sc.StringData, "userKey") - _, err := c.CoreV1().Secrets("default").Create(&sc) + _, err := c.CoreV1().Secrets(cephCSINamespace).Create(&sc) Expect(err).Should(BeNil()) } @@ -325,11 +327,11 @@ func createRBDSecret(c kubernetes.Interface, f *framework.Framework) { opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - adminKey, stdErr := execCommandInPod(f, "ceph auth get-key client.admin", rookNS, &opt) + adminKey, stdErr := execCommandInPod(f, "ceph auth get-key client.admin", rookNamespace, &opt) Expect(stdErr).Should(BeEmpty()) sc.StringData["userID"] = "admin" sc.StringData["userKey"] = adminKey - _, err := c.CoreV1().Secrets("default").Create(&sc) + _, err := c.CoreV1().Secrets(cephCSINamespace).Create(&sc) Expect(err).Should(BeNil()) } @@ -595,7 +597,7 @@ func getImageMeta(rbdImageSpec, metaKey string, f *framework.Framework) (string, opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - stdOut, stdErr := execCommandInPod(f, cmd, rookNS, &opt) + stdOut, stdErr := execCommandInPod(f, cmd, rookNamespace, &opt) if stdErr != "" { return strings.TrimSpace(stdOut), fmt.Errorf(stdErr) } @@ -627,7 +629,7 @@ func readVaultSecret(key string, f *framework.Framework) (string, string) { opt := metav1.ListOptions{ LabelSelector: "app=vault", } - stdOut, stdErr := execCommandInPodAndAllowFail(f, cmd, "default", &opt) + stdOut, stdErr := execCommandInPodAndAllowFail(f, cmd, cephCSINamespace, &opt) return strings.TrimSpace(stdOut), strings.TrimSpace(stdErr) } @@ -834,7 +836,7 @@ func deleteBackingCephFSVolume(f *framework.Framework, pvc *v1.PersistentVolumeC opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - _, stdErr := execCommandInPod(f, "ceph fs subvolume rm myfs "+volname+" csi", rookNS, &opt) + _, stdErr := execCommandInPod(f, "ceph fs subvolume rm myfs "+volname+" csi", rookNamespace, &opt) Expect(stdErr).Should(BeEmpty()) if stdErr != "" { @@ -847,7 +849,7 @@ func listRBDImages(f *framework.Framework) []string { opt := metav1.ListOptions{ LabelSelector: "app=rook-ceph-tools", } - stdout, stdErr := execCommandInPod(f, "rbd ls --pool=replicapool --format=json", rookNS, &opt) + stdout, stdErr := execCommandInPod(f, "rbd ls --pool=replicapool --format=json", rookNamespace, &opt) Expect(stdErr).Should(BeEmpty()) var imgInfos []string @@ -931,7 +933,7 @@ func deleteBackingRBDImage(f *framework.Framework, pvc *v1.PersistentVolumeClaim } cmd := fmt.Sprintf("rbd rm %s --pool=replicapool", rbdImage) - execCommandInPod(f, cmd, rookNS, &opt) + execCommandInPod(f, cmd, rookNamespace, &opt) return nil } @@ -959,7 +961,7 @@ func deletePool(name string, cephfs bool, f *framework.Framework) { for _, cmd := range cmds { // discard stdErr as some commands prints warning in strErr - execCommandInPod(f, cmd, rookNS, &opt) + execCommandInPod(f, cmd, rookNamespace, &opt) } }