Skip to content

Commit

Permalink
Use upstream binary for e2e-kubernetes
Browse files Browse the repository at this point in the history
Signed-off-by: Eddie Torres <torredil@amazon.com>
  • Loading branch information
torredil committed Oct 6, 2022
1 parent ddb6bdb commit 1cfdeb9
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 766 deletions.
63 changes: 0 additions & 63 deletions hack/e2e/ebs.sh

This file was deleted.

80 changes: 49 additions & 31 deletions hack/e2e/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
set -euo pipefail

BASE_DIR=$(dirname "$(realpath "${BASH_SOURCE[0]}")")
source "${BASE_DIR}"/ebs.sh
source "${BASE_DIR}"/ecr.sh
source "${BASE_DIR}"/eksctl.sh
source "${BASE_DIR}"/helm.sh
Expand Down Expand Up @@ -50,18 +49,18 @@ IMAGE_TAG=${IMAGE_TAG:-${TEST_ID}}

# kops: must include patch version (e.g. 1.19.1)
# eksctl: mustn't include patch version (e.g. 1.19)
K8S_VERSION=${K8S_VERSION:-1.20.8}
K8S_VERSION_KOPS=${K8S_VERSION_KOPS:-${K8S_VERSION:-1.25.2}}
K8S_VERSION_EKSCTL=${K8S_VERSION_EKSCTL:-${K8S_VERSION:-1.23}}

KOPS_VERSION=${KOPS_VERSION:-1.23.0}
KOPS_VERSION=${KOPS_VERSION:-1.25.1}
KOPS_STATE_FILE=${KOPS_STATE_FILE:-s3://k8s-kops-csi-e2e}
KOPS_PATCH_FILE=${KOPS_PATCH_FILE:-./hack/kops-patch.yaml}
KOPS_PATCH_NODE_FILE=${KOPS_PATCH_NODE_FILE:-./hack/kops-patch-node.yaml}

EKSCTL_VERSION=${EKSCTL_VERSION:-0.101.0}
EKSCTL_VERSION=${EKSCTL_VERSION:-0.113.0}
EKSCTL_PATCH_FILE=${EKSCTL_PATCH_FILE:-./hack/eksctl-patch.yaml}
EKSCTL_ADMIN_ROLE=${EKSCTL_ADMIN_ROLE:-}
# Creates a windows node group. The windows ami doesn't (yet) install csi-proxy
# so that has to be done separately.
# Creates a windows node group.
WINDOWS=${WINDOWS:-"false"}

HELM_VALUES_FILE=${HELM_VALUES_FILE:-./hack/values.yaml}
Expand All @@ -76,7 +75,6 @@ TEST_EXTRA_FLAGS=${TEST_EXTRA_FLAGS:-}

EBS_INSTALL_SNAPSHOT=${EBS_INSTALL_SNAPSHOT:-"false"}
EBS_INSTALL_SNAPSHOT_VERSION=${EBS_INSTALL_SNAPSHOT_VERSION:-"v4.1.1"}
EBS_CHECK_MIGRATION=${EBS_CHECK_MIGRATION:-"false"}

CLEAN=${CLEAN:-"true"}

Expand Down Expand Up @@ -105,7 +103,16 @@ loudecho "Installing ginkgo to ${BIN_DIR}"
GINKGO_BIN=${BIN_DIR}/ginkgo
if [[ ! -e ${GINKGO_BIN} ]]; then
pushd /tmp
GOPATH=${TEST_DIR} GOBIN=${BIN_DIR} GO111MODULE=on go install github.com/onsi/ginkgo/ginkgo@v1.12.0
GOPATH=${TEST_DIR} GOBIN=${BIN_DIR} go install github.com/onsi/ginkgo/v2/ginkgo@v2.2.0
popd
ginkgo version
fi

loudecho "Installing kubetest2 to ${BIN_DIR}"
KUBETEST2_BIN=${BIN_DIR}/kubetest2
if [[ ! -e ${KUBETEST2_BIN} ]]; then
pushd /tmp
GOPATH=${TEST_DIR} GOBIN=${BIN_DIR} go install sigs.k8s.io/kubetest2/...@latest
popd
fi

Expand All @@ -122,7 +129,7 @@ if [[ "${CLUSTER_TYPE}" == "kops" ]]; then
"$ZONES" \
"$NODE_COUNT" \
"$INSTANCE_TYPE" \
"$K8S_VERSION" \
"$K8S_VERSION_KOPS" \
"$CLUSTER_FILE" \
"$KUBECONFIG" \
"$KOPS_PATCH_FILE" \
Expand All @@ -138,7 +145,7 @@ elif [[ "${CLUSTER_TYPE}" == "eksctl" ]]; then
"$EKSCTL_BIN" \
"$ZONES" \
"$INSTANCE_TYPE" \
"$K8S_VERSION" \
"$K8S_VERSION_EKSCTL" \
"$CLUSTER_FILE" \
"$KUBECONFIG" \
"$EKSCTL_PATCH_FILE" \
Expand Down Expand Up @@ -189,30 +196,41 @@ fi
loudecho "Driver deployment complete, time used: $secondUsed seconds"

loudecho "Testing focus ${GINKGO_FOCUS}"
eval "EXPANDED_TEST_EXTRA_FLAGS=$TEST_EXTRA_FLAGS"
set -x
set +e
${GINKGO_BIN} -p -nodes="${GINKGO_NODES}" -v --focus="${GINKGO_FOCUS}" --skip="${GINKGO_SKIP}" "${TEST_PATH}" -- -kubeconfig="${KUBECONFIG}" -report-dir="${ARTIFACTS}" -gce-zone="${FIRST_ZONE}" "${EXPANDED_TEST_EXTRA_FLAGS}"
TEST_PASSED=$?
set -e
set +x
loudecho "TEST_PASSED: ${TEST_PASSED}"

OVERALL_TEST_PASSED="${TEST_PASSED}"
if [[ "${EBS_CHECK_MIGRATION}" == true ]]; then
exec 5>&1
OUTPUT=$(ebs_check_migration "${KUBECONFIG}" | tee /dev/fd/5)
MIGRATION_PASSED=$(echo "${OUTPUT}" | tail -1)
loudecho "MIGRATION_PASSED: ${MIGRATION_PASSED}"
if [ "${TEST_PASSED}" == 0 ] && [ "${MIGRATION_PASSED}" == 0 ]; then
loudecho "Both test and migration passed"
OVERALL_TEST_PASSED=0
else
loudecho "One of test or migration failed"
OVERALL_TEST_PASSED=1
fi
if [[ $TEST_PATH == "./tests/e2e-kubernetes/..." ]]; then
pushd ${PWD}/tests/e2e-kubernetes
packageVersion=$(echo $(cut -d '.' -f 1,2 <<< $K8S_VERSION))

set -x
set +e
kubetest2 noop \
--run-id="e2e-kubernetes" \
--test=ginkgo \
-- \
--skip-regex="${GINKGO_SKIP}" \
--focus-regex="${GINKGO_FOCUS}" \
--test-package-version=$(curl https://storage.googleapis.com/kubernetes-release/release/stable-$packageVersion.txt) \
--parallel=25 \
--test-args="-storage.testdriver=${PWD}/manifests.yaml -kubeconfig=$KUBECONFIG"

TEST_PASSED=$?
set -e
set +x
popd
fi

if [[ $TEST_PATH == "./tests/e2e/..." ]]; then
eval "EXPANDED_TEST_EXTRA_FLAGS=$TEST_EXTRA_FLAGS"
set -x
set +e
${GINKGO_BIN} -p -nodes="${GINKGO_NODES}" -v --focus="${GINKGO_FOCUS}" --skip="${GINKGO_SKIP}" "${TEST_PATH}" -- -kubeconfig="${KUBECONFIG}" -report-dir="${ARTIFACTS}" -gce-zone="${FIRST_ZONE}" "${EXPANDED_TEST_EXTRA_FLAGS}"
TEST_PASSED=$?
set -e
set +x
fi

OVERALL_TEST_PASSED="${TEST_PASSED}"

PODS=$(kubectl get pod -n kube-system -l "app.kubernetes.io/name=${DRIVER_NAME},app.kubernetes.io/instance=${DRIVER_NAME}" -o json --kubeconfig "${KUBECONFIG}" | jq -r .items[].metadata.name)

while IFS= read -r POD; do
Expand Down
4 changes: 1 addition & 3 deletions tests/e2e-kubernetes/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# Kubernetes tests

This directory imports tests from kubernetes/kubernetes and enables:

* External CSI tests, https://github.com/kubernetes/kubernetes/tree/master/test/e2e/storage/external
* CSI migration tests

Expand All @@ -14,4 +12,4 @@ This directory imports tests from kubernetes/kubernetes and enables:

```sh
go test -v -timeout 0 ./... -kubeconfig=$HOME/.kube/config -report-dir=$ARTIFACTS -ginkgo.focus="$FOCUS" -ginkgo.skip="\[Disruptive\]" -gce-zone=us-west-2a
```
```
94 changes: 0 additions & 94 deletions tests/e2e-kubernetes/e2e_test.go

This file was deleted.

2 changes: 1 addition & 1 deletion tests/e2e-kubernetes/manifests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ShortName: ebs
StorageClass:
FromFile: storageclass.yaml
SnapshotClass:
FromFile: snapshotclass.yaml
FromName: true
DriverInfo:
Name: ebs.csi.aws.com
SupportedSizeRange:
Expand Down
9 changes: 0 additions & 9 deletions tests/e2e-kubernetes/snapshotclass.yaml

This file was deleted.

1 change: 0 additions & 1 deletion tests/e2e-upgrade/README.md

This file was deleted.

Loading

0 comments on commit 1cfdeb9

Please sign in to comment.