Move rook-deploy code from e2e to ./scripts/minikube.sh

We have the e2e test with --deploy-rook=true that makes all test
environment. It works fine, but It does not seem to be the role of
e2e test. In addition, when developing the code we need to run full
test scenario with deploying rook every time, or we need to build
rook environment by hand. Move rook-deploy code to minikube.sh.
This commit is contained in:
Woohyung Han
2019-12-03 21:36:15 +09:00
committed by mergify[bot]
parent 685e2540a8
commit 2c9d711463
9 changed files with 79 additions and 310 deletions

View File

@ -11,20 +11,15 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"k8s.io/kubernetes/test/e2e/framework"
e2elog "k8s.io/kubernetes/test/e2e/framework/log"
)
var (
RookVersion string
rookRequired bool
deployTimeout int
)
func init() {
log.SetOutput(GinkgoWriter)
flag.StringVar(&RookVersion, "rook-version", "v1.1.2", "rook version to pull yaml files")
flag.BoolVar(&rookRequired, "deploy-rook", true, "deploy rook on kubernetes")
flag.IntVar(&deployTimeout, "deploy-timeout", 10, "timeout to wait for created kubernetes resources")
setDefaultKubeconfig()
@ -33,7 +28,6 @@ func init() {
framework.HandleFlags()
framework.AfterReadingAllFlags(&framework.TestContext)
formRookURL(RookVersion)
fmt.Println("timeout for deploytimeout ", deployTimeout)
}
@ -45,74 +39,12 @@ func setDefaultKubeconfig() {
}
}
// removeCephCSIResource is a temporary fix for CI to remove the ceph-csi resources deployed by rook
func removeCephCSIResource() {
// cleanup rbd and cephfs deamonset deployed by rook
_, err := framework.RunKubectl("delete", "-nrook-ceph", "daemonset", "csi-cephfsplugin")
if err != nil {
e2elog.Logf("failed to delete rbd daemonset %v", err)
}
_, err = framework.RunKubectl("delete", "-nrook-ceph", "daemonset", "csi-rbdplugin")
if err != nil {
e2elog.Logf("failed to delete cephfs daemonset %v", err)
}
// if kube version is <1.14.0 rook deploys cephfs and rbd provisioner as statefulset
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-nrook-ceph", "statefulset", "csi-rbdplugin-provisioner")
if err != nil {
e2elog.Logf("failed to delete rbd statefulset %v", err)
}
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-nrook-ceph", "statefulset", "csi-cephfsplugin-provisioner")
if err != nil {
e2elog.Logf("failed to delete cephfs statefulset %v", err)
}
// if kube version is >=1.14.0 rook deploys cephfs and rbd provisioner as deployment
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-nrook-ceph", "deployment", "csi-rbdplugin-provisioner")
if err != nil {
e2elog.Logf("failed to delete rbd deployment %v", err)
}
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-nrook-ceph", "deployment", "csi-cephfsplugin-provisioner")
if err != nil {
e2elog.Logf("failed to delete cephfs deployment %v", err)
}
// cleanup rbd cluster roles deployed by rook
rbdPath := fmt.Sprintf("%s/%s/", rbdDirPath, "v1.13")
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-f", rbdPath+rbdProvisionerRBAC)
if err != nil {
e2elog.Logf("failed to delete provisioner rbac %v", err)
}
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-f", rbdPath+rbdNodePluginRBAC)
if err != nil {
e2elog.Logf("failed to delete nodeplugin rbac %v", err)
}
// cleanup cephfs cluster roles deployed by rook
cephfsPath := fmt.Sprintf("%s/%s/", cephfsDirPath, "v1.13")
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-f", cephfsPath+cephfsProvisionerRBAC)
if err != nil {
e2elog.Logf("failed to delete provisioner rbac %v", err)
}
_, err = framework.RunKubectl("delete", "--ignore-not-found", "-f", cephfsPath+cephfsNodePluginRBAC)
if err != nil {
e2elog.Logf("failed to delete nodeplugin rbac %v", err)
}
}
// BeforeSuite deploys the rook-operator and ceph cluster
var _ = BeforeSuite(func() {
if rookRequired {
deployRook()
removeCephCSIResource()
}
})
// AfterSuite removes the rook-operator and ceph cluster
var _ = AfterSuite(func() {
if rookRequired {
tearDownRook()
}
})
func TestE2E(t *testing.T) {