package e2e import ( . "github.com/onsi/ginkgo" // nolint "k8s.io/kubernetes/test/e2e/framework" ) var ( rbdProvisioner = "csi-rbdplugin-provisioner.yaml" rbdProvisionerRBAC = "csi-provisioner-rbac.yaml" rbdNodePlugin = "csi-rbdplugin.yaml" rbdNodePluginRBAC = "csi-nodeplugin-rbac.yaml" rbdConfigMap = "csi-config-map.yaml" ) var ( rbdDirPath = "../deploy/rbd/kubernetes/" rbdExamplePath = "../examples/rbd/" ) func deployRBDPlugin() { // deploy provisioner framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdProvisioner) framework.RunKubectlOrDie("apply", "-f", rbdDirPath+rbdProvisionerRBAC) //deploy nodeplugin framework.RunKubectlOrDie("create", "-f", rbdDirPath+rbdNodePlugin) framework.RunKubectlOrDie("apply", "-f", rbdDirPath+rbdNodePluginRBAC) } var _ = Describe("RBD", func() { f := framework.NewDefaultFramework("rbd") //deploy RBD CSI BeforeEach(func() { createRBDPool() createConfigMap(f.ClientSet, f) deployRBDPlugin() createRBDStorageClass(f.ClientSet, f) createRBDSecret(f.ClientSet, f) }) AfterEach(func() { rbdFiles := getFilesinDirectory(rbdDirPath) for _, file := range rbdFiles { res, err := framework.RunKubectl("delete", "-f", rbdDirPath+file.Name()) framework.Logf("failed to delete resource in %s with err %v", res, err) } deleteRBDPool() deleteSecret(rbdExamplePath + "secret.yaml") deleteStorageClass(rbdExamplePath + "storageclass.yaml") }) Context("Test RBD CSI", func() { It("Test RBD CSI", func() { By("checking provisioner deployment is completed") err := waitForDeploymentComplete("csi-rbdplugin-provisioner", "default", f.ClientSet, deployTimeout) if err != nil { Fail(err.Error()) } By("checking nodeplugin deamonsets is running") err = waitForDaemonSets("csi-rbdplugin", "default", f.ClientSet, deployTimeout) if err != nil { Fail(err.Error()) } By("create a PVC and Bind it to an app", func() { pvcPath := rbdExamplePath + "pvc.yaml" appPath := rbdExamplePath + "pod.yaml" validatePVCAndAppBinding(pvcPath, appPath, f) }) }) }) })