2020-04-01 12:50:43 +05:30
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
|
2021-06-08 11:23:35 +05:30
|
|
|
# This script will be used by centos CI to run functional test
|
2021-04-21 13:34:03 +05:30
|
|
|
# against different Kubernetes version
|
2020-04-01 12:50:43 +05:30
|
|
|
export KUBE_VERSION=$1
|
2020-07-08 17:18:32 +05:30
|
|
|
shift
|
2021-04-21 13:34:03 +05:30
|
|
|
# parse the Kubernetes version, return the digit passed as argument
|
2020-04-16 13:04:44 +05:30
|
|
|
# v1.17.0 -> kube_version 1 -> 1
|
|
|
|
# v1.17.0 -> kube_version 2 -> 17
|
|
|
|
kube_version() {
|
|
|
|
echo "${KUBE_VERSION}" | sed 's/^v//' | cut -d'.' -f"${1}"
|
|
|
|
}
|
2020-06-22 14:48:32 +02:00
|
|
|
|
|
|
|
# configure global environment variables
|
|
|
|
# shellcheck source=build.env
|
|
|
|
source "$(dirname "${0}")/../build.env"
|
2021-06-08 11:23:35 +05:30
|
|
|
cat <<EOF | sudo tee -a /etc/environment
|
2020-06-22 14:48:32 +02:00
|
|
|
HELM_VERSION=${HELM_VERSION}
|
2020-06-22 15:20:33 +02:00
|
|
|
MINIKUBE_VERSION=${MINIKUBE_VERSION}
|
|
|
|
VM_DRIVER=${VM_DRIVER}
|
|
|
|
CHANGE_MINIKUBE_NONE_USER=${CHANGE_MINIKUBE_NONE_USER}
|
2020-06-22 14:48:32 +02:00
|
|
|
EOF
|
|
|
|
|
|
|
|
# helm is installed from this shell, not a new one that reads /etc/environment
|
|
|
|
export HELM_VERSION=${HELM_VERSION}
|
|
|
|
|
2020-04-01 12:50:43 +05:30
|
|
|
sudo scripts/minikube.sh up
|
|
|
|
sudo scripts/minikube.sh deploy-rook
|
2020-04-06 16:19:13 -04:00
|
|
|
sudo scripts/minikube.sh create-block-pool
|
2020-04-01 12:50:43 +05:30
|
|
|
# pull docker images to speed up e2e
|
|
|
|
sudo scripts/minikube.sh cephcsi
|
|
|
|
sudo scripts/minikube.sh k8s-sidecar
|
|
|
|
|
|
|
|
NAMESPACE=cephcsi-e2e-$RANDOM
|
2020-04-13 13:25:48 +05:30
|
|
|
# create ns for e2e
|
|
|
|
kubectl create ns ${NAMESPACE}
|
2020-04-16 13:04:44 +05:30
|
|
|
KUBE_MAJOR=$(kube_version 1)
|
|
|
|
KUBE_MINOR=$(kube_version 2)
|
|
|
|
# skip snapshot operation if kube version is less than 1.17.0
|
|
|
|
if [[ "${KUBE_MAJOR}" -ge 1 ]] && [[ "${KUBE_MINOR}" -ge 17 ]]; then
|
|
|
|
# delete snapshot CRD created by ceph-csi in rook
|
|
|
|
scripts/install-snapshot.sh delete-crd
|
|
|
|
# install snapshot controller
|
|
|
|
scripts/install-snapshot.sh install
|
|
|
|
fi
|
2020-04-01 12:50:43 +05:30
|
|
|
# set up helm
|
|
|
|
scripts/install-helm.sh up
|
|
|
|
# install cephcsi helm charts
|
2021-04-22 12:14:10 +05:30
|
|
|
scripts/install-helm.sh install-cephcsi --namespace ${NAMESPACE}
|
2020-04-01 12:50:43 +05:30
|
|
|
# functional tests
|
2020-07-30 15:48:42 +02:00
|
|
|
make run-e2e NAMESPACE="${NAMESPACE}" E2E_ARGS="--deploy-cephfs=false --deploy-rbd=false ${*}"
|
2020-04-01 12:50:43 +05:30
|
|
|
|
|
|
|
#cleanup
|
2020-04-16 13:04:44 +05:30
|
|
|
# skip snapshot operation if kube version is less than 1.17.0
|
|
|
|
if [[ "${KUBE_MAJOR}" -ge 1 ]] && [[ "${KUBE_MINOR}" -ge 17 ]]; then
|
|
|
|
# delete snapshot CRD
|
|
|
|
scripts/install-snapshot.sh cleanup
|
|
|
|
fi
|
2021-04-22 12:14:10 +05:30
|
|
|
scripts/install-helm.sh cleanup-cephcsi --namespace ${NAMESPACE}
|
2020-04-09 09:37:07 +05:30
|
|
|
scripts/install-helm.sh clean
|
2020-04-13 13:25:48 +05:30
|
|
|
kubectl delete ns ${NAMESPACE}
|
2020-04-01 12:50:43 +05:30
|
|
|
sudo scripts/minikube.sh clean
|