Merge pull request #254 from boddumanohar/external-e2e-tests
Add K8s external storage E2E tests
This commit is contained in:
commit
6ba0258c1f
6
Makefile
6
Makefile
|
|
@ -85,7 +85,11 @@ deploy-kind:
|
|||
|
||||
.PHONY: e2e-test
|
||||
e2e-test:
|
||||
go test -v -timeout=0 ./test/e2e ${GINKGO_FLAGS}
|
||||
if [ ! -z "$(EXTERNAL_E2E_TEST)" ]; then \
|
||||
bash ./test/external-e2e/run.sh;\
|
||||
else \
|
||||
go test -v -timeout=0 ./test/e2e ${GINKGO_FLAGS};\
|
||||
fi
|
||||
|
||||
.PHONY: e2e-bootstrap
|
||||
e2e-bootstrap: install-helm
|
||||
|
|
|
|||
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright 2021 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -xe
|
||||
|
||||
PROJECT_ROOT=$(git rev-parse --show-toplevel)
|
||||
|
||||
install_ginkgo () {
|
||||
apt update -y
|
||||
apt install -y golang-ginkgo-dev
|
||||
}
|
||||
|
||||
setup_e2e_binaries() {
|
||||
# download k8s external e2e binary for kubernetes v1.19
|
||||
curl -sL https://storage.googleapis.com/kubernetes-release/release/v1.19.0/kubernetes-test-linux-amd64.tar.gz --output e2e-tests.tar.gz
|
||||
tar -xvf e2e-tests.tar.gz && rm e2e-tests.tar.gz
|
||||
|
||||
# install the csi driver smb
|
||||
mkdir -p /tmp/csi-smb && cp deploy/example/storageclass-smb.yaml /tmp/csi-smb/storageclass.yaml
|
||||
make e2e-bootstrap
|
||||
make install-smb-provisioner
|
||||
make create-metrics-svc
|
||||
}
|
||||
|
||||
print_logs() {
|
||||
echo "print out driver logs ..."
|
||||
bash ./test/utils/smb_log.sh
|
||||
}
|
||||
|
||||
install_ginkgo
|
||||
setup_e2e_binaries
|
||||
trap print_logs EXIT
|
||||
|
||||
ginkgo -p --progress --v -focus='External.Storage' \
|
||||
-skip='\[Disruptive\]|\[Slow\]' kubernetes/test/bin/e2e.test -- \
|
||||
-storage.testdriver=$PROJECT_ROOT/test/external-e2e/testdriver.yaml \
|
||||
--kubeconfig=$KUBECONFIG
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
# Manifest for Kubernetes external tests.
|
||||
# See https://github.com/kubernetes/kubernetes/tree/master/test/e2e/storage/external
|
||||
|
||||
ShortName: smb
|
||||
StorageClass:
|
||||
FromFile: /tmp/csi-smb/storageclass.yaml
|
||||
DriverInfo:
|
||||
Name: smb.csi.k8s.io
|
||||
Capabilities:
|
||||
persistence: true
|
||||
exec: true
|
||||
multipods: true
|
||||
RWX: true
|
||||
Loading…
Reference in New Issue