[k8s] validation: kube-conformance s/v1.11/v1.15/ 52/1152/5
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Tue, 9 Jul 2019 16:27:00 +0000 (18:27 +0200)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Tue, 16 Jul 2019 13:37:18 +0000 (15:37 +0200)
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 <Alexandru.Avadanii@enea.com>
docker/README.rst
docker/k8s/Dockerfile
docker/kube-conformance/Makefile
docker/kube-conformance/kube-conformance
tests/k8s/conformance/conformance.robot
tests/k8s/conformance/sonobuoy.yaml

index 12c75be..4694cde 100644 (file)
@@ -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
index 5b60ed0..06c21c9 100644 (file)
 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
index a5b5b99..61d731d 100644 (file)
@@ -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
index 32d9e2a..9cdcb01 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 32d9e2a4edd5c354c97da0d1bd308473bf4f0c89
+Subproject commit 9cdcb010918c815a51ac627ce68fa6f3165beaf8
index 644b1ed..6f9096c 100644 (file)
@@ -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
index a6559cb..4d409b6 100644 (file)
@@ -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: