Leverage the new CNF TestSuite repo
[functest-kubernetes.git] / docker / cnf / Dockerfile
1 FROM opnfv/functest-kubernetes-core
2
3 ARG CNF_TESTSUITE_TAG=v1.0.0
4 ARG HELM_TAG=v3.3.1
5
6 USER root
7 RUN apk --no-cache add --update wget curl libc6-compat ncurses && \
8     tag=$(curl -s https://storage.googleapis.com/kubernetes-release/release/latest-1.30.txt)  && \
9     case $(uname -m) in armv7l) arch=arm;; aarch64) arch=arm64;; x86_64) arch=amd64;; esac && \
10     curl https://storage.googleapis.com/kubernetes-release/release/$tag/bin/linux/$arch/kubectl \
11         --output /usr/local/bin/kubectl && \
12     curl https://get.helm.sh/helm-$HELM_TAG-linux-$arch.tar.gz \
13         --output /src/helm-$HELM_TAG-linux-$arch.tar.gz && \
14     tar zxf /src/helm-$HELM_TAG-linux-$arch.tar.gz linux-$arch/helm -C /src && \
15     mv /src/linux-$arch/helm /usr/local/bin && \
16     chmod +x /usr/local/bin/kubectl /usr/local/bin/helm && \
17     rm -r /src/helm-$HELM_TAG-linux-$arch.tar.gz /src/linux-$arch && \
18     case $(uname -m) in x86_64) \
19         curl https://github.com/cnti-testcatalog/testsuite/releases/download/$CNF_TESTSUITE_TAG/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz \
20             -L --output /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz && \
21         tar zxf /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz cnf-testsuite -C /usr/local/bin && \
22         chmod +x /usr/local/bin/cnf-testsuite && \
23         mkdir /src/cnf-testsuite && \
24         git init /src/cnf-testsuite && \
25         (cd /src/cnf-testsuite && \
26             git fetch --tags https://github.com/cnti-testcatalog/testsuite.git $CNF_TESTSUITE_TAG && \
27             git checkout FETCH_HEAD) && \
28         chown -R xtesting: /src/cnf-testsuite && \
29         ln -s /src/cnf-testsuite/example-cnfs/coredns/cnf-testsuite.yml /src/cnf-testsuite/cnf-testsuite.yml && \
30         ln -s /src/cnf-testsuite/points-all.yml /src/cnf-testsuite/points.yml && \
31         ln -s /usr/local/bin/cnf-testsuite /src/cnf-testsuite/cnf-testsuite && \
32         rm -rf /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz /src/cnf-testsuite/.git ;; esac
33 USER xtesting
34 RUN helm repo add stable https://cncf.gitlab.io/stable
35 COPY testcases.yaml /etc/xtesting/testcases.yaml
36 CMD ["run_tests", "-t", "all"]