aboutsummaryrefslogtreecommitdiffstats
path: root/docker/cnf/Dockerfile
blob: 21c52be8efc801813000ff5b03eb8dacaf21c384 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM opnfv/functest-kubernetes-core:v1.26

ARG K8S_TAG=1.26
ARG CNF_TESTSUITE_TAG=v0.45.0
ARG HELM_TAG=v3.3.1

USER root
RUN apk --no-cache add --update wget curl libc6-compat ncurses && \
    tag=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable-$K8S_TAG.txt)  && \
    case $(uname -m) in armv7l) arch=arm;; aarch64) arch=arm64;; x86_64) arch=amd64;; esac && \
    curl https://storage.googleapis.com/kubernetes-release/release/$tag/bin/linux/$arch/kubectl \
        --output /usr/local/bin/kubectl && \
    curl https://get.helm.sh/helm-$HELM_TAG-linux-$arch.tar.gz \
        --output /src/helm-$HELM_TAG-linux-$arch.tar.gz && \
    tar zxf /src/helm-$HELM_TAG-linux-$arch.tar.gz linux-$arch/helm -C /src && \
    mv /src/linux-$arch/helm /usr/local/bin && \
    chmod +x /usr/local/bin/kubectl /usr/local/bin/helm && \
    rm -r /src/helm-$HELM_TAG-linux-$arch.tar.gz /src/linux-$arch && \
    case $(uname -m) in x86_64) \
        curl https://github.com/cncf/cnf-testsuite/releases/download/$CNF_TESTSUITE_TAG/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz \
            -L --output /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz && \
        tar zxf /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz ./cnf-testsuite -C /usr/local/bin && \
        chmod +x /usr/local/bin/cnf-testsuite && \
        mkdir /src/cnf-testsuite && \
        git init /src/cnf-testsuite && \
        (cd /src/cnf-testsuite && \
            git fetch --tags https://github.com/cncf/cnf-testsuite.git $CNF_TESTSUITE_TAG && \
            git checkout FETCH_HEAD) && \
        chown -R xtesting: /src/cnf-testsuite && \
        ln -s /src/cnf-testsuite/example-cnfs/coredns/cnf-testsuite.yml /src/cnf-testsuite/cnf-testsuite.yml && \
        ln -s /src/cnf-testsuite/points-all.yml /src/cnf-testsuite/points.yml && \
        ln -s /usr/local/bin/cnf-testsuite /src/cnf-testsuite/cnf-testsuite && \
        rm -rf /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz /src/cnf-testsuite/.git ;; esac
USER xtesting
RUN helm repo add stable https://cncf.gitlab.io/stable
COPY testcases.yaml /etc/xtesting/testcases.yaml
CMD ["run_tests", "-t", "all"]