From 483f9669541c8cc9b8c492eab91c306c0fa434dd Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Tue, 9 Jul 2019 18:27:00 +0200 Subject: [PATCH] [k8s] validation: kube-conformance s/v1.11/v1.15/ Bump kube-conformance from v1.11 to v1.15 to pick up newer test images, e.g. nginx-slim only has arm64 support starting with the next version after the one pinned by e2e tests in kubernetes v1.11.10, while e2e.test binary only has proper etcd arm64 support starting with 1.15. - update README; - bump dockerhub image tag; - bump git submodule pinned commit from upstream heptio/kube-conformance; - bump tag in image referenced by sonobuoy configuration; While at it, also align related resource versions in K8s image: - bump kubectl/gingo/e2e.test in K8s image from v1.13.0 to v1.15.x (latest minor release available for the 1.15 major release); - pin sonobuoy binary version to v0.14.3 tag; - bump sonobuoy timeouts to accomodate runs on slower hardware; Change-Id: Ia0e632219694a63e9cdf06d7e6dad89cff016361 Signed-off-by: Alexandru Avadanii --- docker/README.rst | 2 +- docker/k8s/Dockerfile | 13 ++++++++++--- docker/kube-conformance/Makefile | 3 ++- docker/kube-conformance/kube-conformance | 2 +- tests/k8s/conformance/conformance.robot | 4 ++-- tests/k8s/conformance/sonobuoy.yaml | 2 +- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/docker/README.rst b/docker/README.rst index 12c75be..4694cde 100644 --- a/docker/README.rst +++ b/docker/README.rst @@ -228,7 +228,7 @@ Example: .. code-block:: console - docker run -ti akraino/validation:kube-conformance-v1.11 + docker run -ti akraino/validation:kube-conformance-v1.15 By default, the container will run the `run_e2e.sh` script. If you want to enter the container, add */bin/sh* at the end of the command above diff --git a/docker/k8s/Dockerfile b/docker/k8s/Dockerfile index 5b60ed0..06c21c9 100644 --- a/docker/k8s/Dockerfile +++ b/docker/k8s/Dockerfile @@ -18,12 +18,15 @@ FROM golang:alpine3.9 as build # Sonobuoy supports Kubernetes versions 1.11, 1.12 and 1.13 -ARG K8S_TAG=v1.13.0 +ARG SB_TAG=v0.14.3 +# Determine the latest stable git tag at build time based on stable major version +ARG K8S_VER=1.15 # Install dependencies COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt RUN apk --no-cache add --update \ + curl \ openssl \ python3 \ bash \ @@ -45,10 +48,14 @@ RUN git clone https://github.com/kubernetes/kubernetes /src/k8s.io/kubernetes RUN if [ $(uname -m) == 'aarch64' ]; then HOST_ARCH=arm64; else HOST_ARCH=amd64; fi && \ echo "Building docker on $HOST_ARCH" && \ cd /src/k8s.io/kubernetes && \ - git checkout $K8S_TAG && \ + git checkout $(curl \ + https://storage.googleapis.com/kubernetes-release/release/stable-$K8S_VER.txt) && \ make kubectl ginkgo && \ make WHAT=test/e2e/e2e.test ARCH=$HOST_ARCH -RUN go get -u -v github.com/heptio/sonobuoy +RUN go get -d github.com/heptio/sonobuoy && \ + cd /go/src/github.com/heptio/sonobuoy && \ + git checkout $SB_TAG && \ + go install RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation RUN cat /opt/akraino/validation/bluval/requirements.txt >> \ /wheels/requirements/pip-requirements.txt diff --git a/docker/kube-conformance/Makefile b/docker/kube-conformance/Makefile index a5b5b99..61d731d 100644 --- a/docker/kube-conformance/Makefile +++ b/docker/kube-conformance/Makefile @@ -15,7 +15,8 @@ ############################################################################## export WORK_DIR?=$(TAG_PRE) -export TAG_VER?=v1.11 +export KUBE_VERSION=1.15 +export TAG_VER?=v$(KUBE_VERSION) .PHONY: .build .build:: .submodules_patched diff --git a/docker/kube-conformance/kube-conformance b/docker/kube-conformance/kube-conformance index 32d9e2a..9cdcb01 160000 --- a/docker/kube-conformance/kube-conformance +++ b/docker/kube-conformance/kube-conformance @@ -1 +1 @@ -Subproject commit 32d9e2a4edd5c354c97da0d1bd308473bf4f0c89 +Subproject commit 9cdcb010918c815a51ac627ce68fa6f3165beaf8 diff --git a/tests/k8s/conformance/conformance.robot b/tests/k8s/conformance/conformance.robot index 644b1ed..6f9096c 100644 --- a/tests/k8s/conformance/conformance.robot +++ b/tests/k8s/conformance/conformance.robot @@ -30,13 +30,13 @@ ${LOG} ${LOG_PATH}${/}${SUITE_NAME.replace(' ','_')}.log Run Sonobuoy Conformance Test # Start the test Run kubectl apply -f ${CURDIR}${/}sonobuoy.yaml - Sleep 5s + Sleep 10s ${rc} ${output}= Run And Return Rc And Output ... kubectl describe pod/sonobuoy -n heptio-sonobuoy Append To File ${LOG} ${output}${\n} # Wait until the test finishes execution - Run while sonobuoy status | grep "Sonobuoy is still running"; do sleep 120; done + Run while sonobuoy status | grep "Sonobuoy is still running"; do sleep 180; done Append To File ${LOG} "Sonobuoy has completed"${\n} # Get the result and store the sonobuoy logs diff --git a/tests/k8s/conformance/sonobuoy.yaml b/tests/k8s/conformance/sonobuoy.yaml index a6559cb..4d409b6 100644 --- a/tests/k8s/conformance/sonobuoy.yaml +++ b/tests/k8s/conformance/sonobuoy.yaml @@ -91,7 +91,7 @@ data: - name: E2E_PARALLEL value: '1' command: ["/run_e2e.sh"] - image: akraino/validation:kube-conformance-v1.11 + image: akraino/validation:kube-conformance-v1.15 imagePullPolicy: Always name: e2e volumeMounts: -- 2.16.6