mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 18:43:34 +00:00
refact: Remove Kubernetes 1.13.x support
Signed-off-by: wilmardo <info@wilmardenouden.nl>
This commit is contained in:
@ -46,7 +46,7 @@ following environment variables can be exported to customize kubernetes deployme
|
||||
| ENV | Description | Default |
|
||||
| ------------------ | ------------------------------------------------ | ------------------------------------------------------------------ |
|
||||
| MINIKUBE_VERSION | minikube version to install | latest |
|
||||
| KUBE_VERSION | kubernetes version to install | v1.13.0 |
|
||||
| KUBE_VERSION | kubernetes version to install | v1.14.10 |
|
||||
| MEMORY | Amount of RAM allocated to the minikube VM in MB | 3000 |
|
||||
| VM_DRIVER | VM driver to create virtual machine | virtualbox |
|
||||
| CEPHCSI_IMAGE_REPO | Repo URL to pull cephcsi images | quay.io/cephcsi |
|
||||
|
@ -2,7 +2,6 @@ package e2e
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
. "github.com/onsi/ginkgo" // nolint
|
||||
|
||||
@ -18,15 +17,10 @@ var (
|
||||
cephfsNodePluginRBAC = "csi-nodeplugin-rbac.yaml"
|
||||
cephfsDeploymentName = "csi-cephfsplugin-provisioner"
|
||||
cephfsDeamonSetName = "csi-cephfsplugin"
|
||||
cephfsDirPath = "../deploy/cephfs/kubernetes"
|
||||
cephfsDirPath = "../deploy/cephfs/kubernetes/"
|
||||
cephfsExamplePath = "../examples/cephfs/"
|
||||
)
|
||||
|
||||
func updateCephfsDirPath(c clientset.Interface) {
|
||||
version := getKubeVersionToDeploy(c)
|
||||
cephfsDirPath = fmt.Sprintf("%s/%s/", cephfsDirPath, version)
|
||||
}
|
||||
|
||||
func deployCephfsPlugin() {
|
||||
// delete objects deployed by rook
|
||||
framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", cephfsDirPath+cephfsProvisionerRBAC)
|
||||
@ -64,7 +58,6 @@ var _ = Describe("cephfs", func() {
|
||||
// deploy cephfs CSI
|
||||
BeforeEach(func() {
|
||||
c = f.ClientSet
|
||||
updateCephfsDirPath(f.ClientSet)
|
||||
createConfigMap(cephfsDirPath, f.ClientSet, f)
|
||||
deployCephfsPlugin()
|
||||
createCephfsSecret(f.ClientSet, f)
|
||||
@ -88,15 +81,9 @@ var _ = Describe("cephfs", func() {
|
||||
pvcPath := cephfsExamplePath + "pvc.yaml"
|
||||
appPath := cephfsExamplePath + "pod.yaml"
|
||||
|
||||
By("checking provisioner statefulset/deployment is running")
|
||||
timeout := time.Duration(deployTimeout) * time.Minute
|
||||
By("checking provisioner deployment is running")
|
||||
var err error
|
||||
sts := deployProvAsSTS(f.ClientSet)
|
||||
if sts {
|
||||
err = waitForStatefulSetReplicasReady(cephfsDeploymentName, namespace, f.ClientSet, 1*time.Second, timeout)
|
||||
} else {
|
||||
err = waitForDeploymentComplete(cephfsDeploymentName, namespace, f.ClientSet, deployTimeout)
|
||||
}
|
||||
err = waitForDeploymentComplete(cephfsDeploymentName, namespace, f.ClientSet, deployTimeout)
|
||||
if err != nil {
|
||||
Fail(err.Error())
|
||||
}
|
||||
|
19
e2e/rbd.go
19
e2e/rbd.go
@ -2,7 +2,6 @@ package e2e
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
. "github.com/onsi/ginkgo" // nolint
|
||||
|
||||
@ -17,18 +16,13 @@ var (
|
||||
rbdNodePlugin = "csi-rbdplugin.yaml"
|
||||
rbdNodePluginRBAC = "csi-nodeplugin-rbac.yaml"
|
||||
configMap = "csi-config-map.yaml"
|
||||
rbdDirPath = "../deploy/rbd/kubernetes"
|
||||
rbdDirPath = "../deploy/rbd/kubernetes/"
|
||||
rbdExamplePath = "../examples/rbd/"
|
||||
rbdDeploymentName = "csi-rbdplugin-provisioner"
|
||||
rbdDaemonsetName = "csi-rbdplugin"
|
||||
namespace = "default"
|
||||
)
|
||||
|
||||
func updaterbdDirPath(c clientset.Interface) {
|
||||
version := getKubeVersionToDeploy(c)
|
||||
rbdDirPath = fmt.Sprintf("%s/%s/", rbdDirPath, version)
|
||||
}
|
||||
|
||||
func deployRBDPlugin() {
|
||||
// delete objects deployed by rook
|
||||
framework.RunKubectlOrDie("delete", "--ignore-not-found=true", "-f", rbdDirPath+rbdProvisionerRBAC)
|
||||
@ -66,7 +60,6 @@ var _ = Describe("RBD", func() {
|
||||
// deploy RBD CSI
|
||||
BeforeEach(func() {
|
||||
c = f.ClientSet
|
||||
updaterbdDirPath(f.ClientSet)
|
||||
createConfigMap(rbdDirPath, f.ClientSet, f)
|
||||
deployRBDPlugin()
|
||||
createRBDStorageClass(f.ClientSet, f, make(map[string]string))
|
||||
@ -98,15 +91,9 @@ var _ = Describe("RBD", func() {
|
||||
// appClonePath := rbdExamplePath + "pod-restore.yaml"
|
||||
// snapshotPath := rbdExamplePath + "snapshot.yaml"
|
||||
|
||||
By("checking provisioner statefulset/deployment is running")
|
||||
timeout := time.Duration(deployTimeout) * time.Minute
|
||||
By("checking provisioner deployment is running")
|
||||
var err error
|
||||
sts := deployProvAsSTS(f.ClientSet)
|
||||
if sts {
|
||||
err = waitForStatefulSetReplicasReady(rbdDeploymentName, namespace, f.ClientSet, 1*time.Second, timeout)
|
||||
} else {
|
||||
err = waitForDeploymentComplete(rbdDeploymentName, namespace, f.ClientSet, deployTimeout)
|
||||
}
|
||||
err = waitForDeploymentComplete(rbdDeploymentName, namespace, f.ClientSet, deployTimeout)
|
||||
if err != nil {
|
||||
Fail(err.Error())
|
||||
}
|
||||
|
44
e2e/utils.go
44
e2e/utils.go
@ -9,8 +9,6 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"k8s.io/klog"
|
||||
|
||||
// _ "github.com/kubernetes-csi/external-snapshotter/pkg/apis/volumesnapshot/v1alpha1" // nolint
|
||||
// _ "github.com/kubernetes-csi/external-snapshotter/pkg/client/clientset/versioned/typed/volumesnapshot/v1alpha1" // nolint
|
||||
. "github.com/onsi/ginkgo" // nolint
|
||||
@ -45,31 +43,6 @@ var poll = 2 * time.Second
|
||||
// Timestamp string `json:"timestamp"`
|
||||
// }
|
||||
|
||||
func deployProvAsSTS(c clientset.Interface) bool {
|
||||
// kubeMinor to use deployment instead of statefulset for provisioner
|
||||
const kubeMinor = "14"
|
||||
v, err := c.Discovery().ServerVersion()
|
||||
if err != nil {
|
||||
klog.Errorf("failed to get server version with error %v", err)
|
||||
return false
|
||||
}
|
||||
if v.Minor < kubeMinor {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func getKubeVersionToDeploy(c clientset.Interface) string {
|
||||
sts := deployProvAsSTS(c)
|
||||
version := ""
|
||||
if sts {
|
||||
version = "v1.13"
|
||||
} else {
|
||||
version = "v1.14+"
|
||||
}
|
||||
return version
|
||||
}
|
||||
|
||||
func waitForDaemonSets(name, ns string, c clientset.Interface, t int) error {
|
||||
timeout := time.Duration(t) * time.Minute
|
||||
start := time.Now()
|
||||
@ -135,23 +108,6 @@ func waitForDeploymentComplete(name, ns string, c clientset.Interface, t int) er
|
||||
return nil
|
||||
}
|
||||
|
||||
func waitForStatefulSetReplicasReady(statefulSetName, ns string, c clientset.Interface, poll, timeout time.Duration) error {
|
||||
framework.Logf("Waiting up to %v for StatefulSet %s to have all replicas ready", timeout, statefulSetName)
|
||||
for start := time.Now(); time.Since(start) < timeout; time.Sleep(poll) {
|
||||
sts, err := c.AppsV1().StatefulSets(ns).Get(statefulSetName, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
framework.Logf("Get StatefulSet %s failed, ignoring for %v: %v", statefulSetName, poll, err)
|
||||
continue
|
||||
}
|
||||
if sts.Status.ReadyReplicas == *sts.Spec.Replicas {
|
||||
framework.Logf("All %d replicas of StatefulSet %s are ready. (%v)", sts.Status.ReadyReplicas, statefulSetName, time.Since(start))
|
||||
return nil
|
||||
}
|
||||
framework.Logf("StatefulSet %s found but there are %d ready replicas and %d total replicas.", statefulSetName, sts.Status.ReadyReplicas, *sts.Spec.Replicas)
|
||||
}
|
||||
return fmt.Errorf("statefulSet %s still has unready pods within %v", statefulSetName, timeout)
|
||||
}
|
||||
|
||||
func execCommandInPod(f *framework.Framework, c, ns string, opt *metav1.ListOptions) (string, string) {
|
||||
cmd := []string{"/bin/sh", "-c", c}
|
||||
podList, err := f.PodClientNS(ns).List(*opt)
|
||||
|
Reference in New Issue
Block a user