From 6801612e85c485e9885cfb41cbc84771475a134f Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Ollivier?= Date: Fri, 14 Aug 2020 13:58:13 +0200 Subject: [PATCH] Stop compiling K8s testing binaries MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It reaches Travis CI timeouts and is quite useless. PyNaCl is now installed via Alpine packages to save CI. Change-Id: Ifdf3f46f162a811ed95e3ca07ea7c3d89bc77a91 Signed-off-by: Cédric Ollivier --- .travis.yml | 28 ++++++++++++++++++++++++++-- docker/core/Dockerfile | 7 +++++-- docker/healthcheck/Dockerfile | 27 +++++++++++---------------- 3 files changed, 42 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 310d32d2..aa8a2b67 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,6 +55,18 @@ jobs: - amd64_dirs="docker/healthcheck" - arm_dirs="" - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="docker/healthcheck" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="" + - arm64_dirs="docker/healthcheck" - script: bash build.sh env: - REPO="${DOCKER_USERNAME}" @@ -94,7 +106,7 @@ jobs: - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests script: > manifest-tool push from-args \ - --platforms linux/amd64 \ + --platforms linux/amd64,linux/arm,linux/arm64 \ --template \ ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:latest @@ -116,9 +128,21 @@ jobs: - amd64_dirs="docker/smoke" - arm_dirs="" - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="docker/smoke" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="" + - arm64_dirs="docker/smoke" - stage: publish functest-kubernetes-smoke manifests script: > manifest-tool push from-args \ - --platforms linux/amd64 \ + --platforms linux/amd64,linux/arm,linux/arm64 \ --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:latest diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index 250d4685..6cddfcb7 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -9,12 +9,15 @@ COPY Switch-to-threading.Thread-for-Rally-tasks.patch /tmp/Switch-to-threading.T RUN apk --no-cache add --update python3 py3-pip py3-wheel bash git grep libffi openssl mailcap && \ apk --no-cache add --virtual .build-deps --update \ python3-dev build-base libffi-dev openssl-dev && \ - apk --no-cache add --update py3-distlib==0.3.1-r0 \ - --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main && \ git init /src/requirements && \ (cd /src/requirements && \ git fetch --tags https://review.opendev.org/openstack/requirements $OPENSTACK_TAG && \ git checkout FETCH_HEAD) && \ + case $(uname -m) in aarch*|arm*) \ + sed -i -E /^PyNaCl=/d /src/requirements/upper-constraints.txt && \ + apk add --no-cache py3-pynacl ;; esac && \ + apk --no-cache add --update py3-distlib\>=0.3.1 \ + --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main && \ git init /src/functest-kubernetes && \ (cd /src/functest-kubernetes && \ git fetch --tags https://gerrit.opnfv.org/gerrit/functest-kubernetes $BRANCH && \ diff --git a/docker/healthcheck/Dockerfile b/docker/healthcheck/Dockerfile index 1467f857..766f4c6f 100644 --- a/docker/healthcheck/Dockerfile +++ b/docker/healthcheck/Dockerfile @@ -1,20 +1,15 @@ FROM opnfv/functest-kubernetes-core -ARG K8S_TAG=master - -RUN apk --no-cache add --update make bash git \ - grep rsync linux-headers musl-dev findutils \ - libffi openssl libjpeg-turbo && \ - apk --no-cache add --virtual .build-deps --update \ - gcc python3-dev libffi-dev openssl-dev libjpeg-turbo-dev && \ - git init /src/k8s.io/kubernetes && \ - (cd /src/k8s.io/kubernetes && \ - git fetch --tags https://github.com/kubernetes/kubernetes $K8S_TAG && \ - git checkout FETCH_HEAD && \ - make kubectl ginkgo && \ - make WHAT=test/e2e/e2e.test && \ - mv _output/bin/* /usr/local/bin) && \ - rm -r /src/k8s.io && \ - apk del .build-deps +RUN apk --no-cache add --update curl libc6-compat && \ + K8S_TAG=$(curl -s https://storage.googleapis.com/kubernetes-release/release/latest.txt) && \ + case $(uname -m) in armv7l) ARCH=arm;; aarch64) ARCH=arm;; x86_64) ARCH=amd64;; esac && \ + curl https://storage.googleapis.com/kubernetes-release/release/$K8S_TAG/bin/linux/$ARCH/kubectl \ + -s --output /usr/local/bin/kubectl && \ + curl https://storage.googleapis.com/kubernetes-release/release/$K8S_TAG/kubernetes-test-linux-$ARCH.tar.gz \ + -s --output /src/kubernetes-test-linux-$ARCH.tar.gz && \ + tar zxf /src/kubernetes-test-linux-$ARCH.tar.gz kubernetes/test/bin/e2e.test kubernetes/test/bin/ginkgo -C /src && \ + mv /src/kubernetes/test/bin/e2e.test /src/kubernetes/test/bin/ginkgo /usr/local/bin/ && \ + chmod +x /usr/local/bin/kubectl /usr/local/bin/e2e.test /usr/local/bin/ginkgo && \ + rm -r /src/kubernetes /src/kubernetes-test-linux-$ARCH.tar.gz COPY testcases.yaml /usr/lib/python3.8/site-packages/xtesting/ci/testcases.yaml CMD ["run_tests", "-t", "all"] -- 2.16.6