Skip to content

Commit dacfb0e

Browse files
committed
Updates in the e2e flow to build the multidistro/multiarch images
1 parent 6278c54 commit dacfb0e

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

hack/e2e.sh

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,10 @@ CLUSTER=${CLUSTER:-e2e}
141141
GKE_ENVIRONMENT=${GKE_ENVIRONMENT:-prod}
142142
KUBERNETES_SRC=${KUBERNETES_SRC:-} # If set, skip extracting kubernetes, use it as kubernetes src.
143143
KIND_NODE_IMAGE=${KIND_NODE_IMAGE:-} # Prebuilt kind node image to use, e.g. kindest/node:v1.15.0.
144+
# set from kubernetes/test-infra
145+
GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS:-}
146+
JENKINS_GCE_SSH_PRIVATE_KEY_FILE=${JENKINS_GCE_SSH_PRIVATE_KEY_FILE:-}
147+
JENKINS_GCE_SSH_PUBLIC_KEY_FILE=${JENKINS_GCE_SSH_PUBLIC_KEY_FILE:-}
144148

145149
if [ -z "$PROVIDER" ]; then
146150
echo "PROVIDER not specified, detecting provider automatically" >&2
@@ -161,6 +165,9 @@ echo "DEPLOYMENT: $DEPLOYMENT" >&2
161165
echo "CLUSTER: $CLUSTER" >&2
162166
echo "GKE_ENVIRONMENT: $GKE_ENVIRONMENT" >&2
163167
echo "KUBERNETES_SRC: $KUBERNETES_SRC" >&2
168+
echo "GOOGLE_APPLICATION_CREDENTIALS: $GOOGLE_APPLICATION_CREDENTIALS" >&2
169+
echo "JENKINS_GCE_SSH_PRIVATE_KEY_FILE: $JENKINS_GCE_SSH_PRIVATE_KEY_FILE" >&2
170+
echo "JENKINS_GCE_SSH_PUBLIC_KEY_FILE: $JENKINS_GCE_SSH_PUBLIC_KEY_FILE" >&2
164171

165172
kubetest_args=(
166173
--provider "$PROVIDER"
@@ -213,12 +220,12 @@ if [ "$PROVIDER" == "gce" -o "$PROVIDER" == "gke" ]; then
213220
if [ ! -d ~/.ssh ]; then
214221
mkdir ~/.ssh
215222
fi
216-
if [ -e ~/.ssh/google_compute_engine -o -n "$JENKINS_GCE_SSH_PRIVATE_KEY_FILE" ]; then
223+
if [ -n "$JENKINS_GCE_SSH_PRIVATE_KEY_FILE" ]; then
217224
echo "Copying $JENKINS_GCE_SSH_PRIVATE_KEY_FILE to ~/.ssh/google_compute_engine" >&2
218225
cp $JENKINS_GCE_SSH_PRIVATE_KEY_FILE ~/.ssh/google_compute_engine
219226
chmod 0600 ~/.ssh/google_compute_engine
220227
fi
221-
if [ -e ~/.ssh/google_compute_engine.pub -o -n "$JENKINS_GCE_SSH_PUBLIC_KEY_FILE" ]; then
228+
if [ -n "$JENKINS_GCE_SSH_PUBLIC_KEY_FILE" ]; then
222229
echo "Copying $JENKINS_GCE_SSH_PUBLIC_KEY_FILE to ~/.ssh/google_compute_engine.pub" >&2
223230
cp $JENKINS_GCE_SSH_PUBLIC_KEY_FILE ~/.ssh/google_compute_engine.pub
224231
chmod 0600 ~/.ssh/google_compute_engine.pub
@@ -286,9 +293,9 @@ if [ "${1:-}" == "--" ]; then
286293
fi
287294

288295
if [ "$PROVIDER" == "gke" ]; then
296+
# --up
297+
# --down
289298
kubetest2_args+=(
290-
--up
291-
--down
292299
--test exec
293300
-v 1
294301
--cluster-name "$CLUSTER"
@@ -317,8 +324,6 @@ fi
317324
# legacy path
318325
go run $ROOT/hack/e2e.go -- "${kubetest_args[@]}" \
319326
--deployment "$DEPLOYMENT" \
320-
--up \
321-
--down \
322327
--test-cmd bash \
323328
--test-cmd-args="$ROOT/hack/run-e2e.sh" \
324329
"$@"

hack/run-e2e.sh

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
set -o errexit
2020
set -o nounset
2121
set -o pipefail
22+
set -x
2223

2324
# Note that kubetest run this script under kubernetes root directory.
2425
KUBE_ROOT=$(pwd)
@@ -80,10 +81,21 @@ fi
8081

8182
# build image if not specified
8283
if [ -z "$PROVISIONER_E2E_IMAGE" ]; then
83-
make
84-
PROVISIONER_E2E_IMAGE=" k8s.gcr.io/sig-storage/local-volume-provisioner:latest_linux_amd64"
85-
else
86-
docker pull $PROVISIONER_E2E_IMAGE
84+
# build and push ${version}_linux_amd64 and ${version}_windows_ltsc2019
85+
VERSION=${VERSION:-$(git describe --tags --abbrev=8 --always)}
86+
REGISTRY=${REGISTRY:-k8s.gcr.io/sig-storage}
87+
IMAGE=local-volume-provisioner
88+
89+
REGISTRY=${REGISTRY} \
90+
VERSION=$VERSION \
91+
CONFIRM=false \
92+
ALLOW_UNSTABLE=true \
93+
ALLOW_DIRTY=true \
94+
LINUX_ARCH="amd64" \
95+
WINDOWS_DISTROS="ltsc2019" \
96+
./hack/release.sh
97+
98+
PROVISIONER_E2E_IMAGE="$REGISTRY/${IMAGE}:${VERSION}"
8799
fi
88100

89101
# Why we use KUBERNETES_CONFORMANCE_PROVIDER here, see
@@ -97,13 +109,7 @@ if [ "$KUBERNETES_PROVIDER" == "gce" -o "$KUBERNETES_CONFORMANCE_PROVIDER" == "g
97109
exit 1
98110
fi
99111
fi
100-
VERSION=$(git describe --tags --abbrev=8 --always)
101-
PROVISIONER_IMAGE_NAME=gcr.io/$PROJECT/local-volume-provisioner:$VERSION
102-
echo "Tag and push image $PROVISIONER_IMAGE_NAME"
103-
docker tag $PROVISIONER_E2E_IMAGE $PROVISIONER_IMAGE_NAME
104-
unset DOCKER_CONFIG # We don't need this and it may be read-only and fail the command to fail
105-
gcloud auth configure-docker
106-
docker push $PROVISIONER_IMAGE_NAME
112+
PROVISIONER_IMAGE_NAME=$PROVISIONER_E2E_IMAGE
107113
PROVISIONER_IMAGE_PULL_POLICY=Always
108114
elif [ "$KUBERNETES_PROVIDER" == "local" ]; then
109115
KUBECONFIG=/var/run/kubernetes/admin.kubeconfig

0 commit comments

Comments
 (0)