Stop compiling K8s testing binaries 86/70786/1
authorCédric Ollivier <cedric.ollivier@orange.com>
Fri, 14 Aug 2020 11:58:13 +0000 (13:58 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Sun, 16 Aug 2020 09:49:27 +0000 (11:49 +0200)
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 <cedric.ollivier@orange.com>
.travis.yml
docker/core/Dockerfile
docker/healthcheck/Dockerfile

index 310d32d..aa8a2b6 100644 (file)
@@ -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
index 250d468..6cddfcb 100644 (file)
@@ -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 && \
index 1467f85..766f4c6 100644 (file)
@@ -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"]