| FROM ubuntu:20.04 |
| |
| ## Be careful of Windows newlines |
| MAINTAINER "ONAP" |
| LABEL name="Docker image for the ONAP Robot Testing Framework" |
| LABEL usage="docker run -e ROBOT_TEST=<testname> -ti onapete" |
| ENV BUILDTIME=true |
| |
| ARG TESTSUITE_TAG=master |
| ARG PYTHON_UTILS_TAG=master |
| ARG DEMO_TAG=master |
| ARG KUBERNETES_VERSION="v1.19.11" |
| ARG HELM_VERSION="v3.3.4" |
| |
| ARG TESTSUITE_REPO=git.onap.org/testsuite |
| ARG PYTHON_UTILS_REPO=git.onap.org/testsuite/python-testing-utils.git |
| ARG DEMO_REPO=git.onap.org/demo |
| ARG DEBIAN_FRONTEND=noninteractive |
| |
| COPY requirements.txt requirements.txt |
| |
| # Install kubectl |
| # Note: Latest version may be found on: |
| # https://aur.archlinux.org/packages/kubectl-bin/ |
| ADD https://storage.googleapis.com/kubernetes-release/release/${KUBERNETES_VERSION}/bin/linux/amd64/kubectl /usr/local/bin/kubectl |
| ADD https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 get_helm.sh |
| |
| # Install Python, Pip, Robot framework, chromium, lighttpd web server |
| RUN apt-get update \ |
| && apt-get install \ |
| --no-install-recommends \ |
| --assume-yes \ |
| chromium-browser \ |
| chromium-chromedriver \ |
| dnsutils \ |
| git \ |
| gcc \ |
| libffi-dev \ |
| libssl-dev \ |
| lighttpd \ |
| make \ |
| net-tools \ |
| netbase \ |
| unzip zip \ |
| x11-utils x11-xserver-utils \ |
| xvfb \ |
| xxd \ |
| wget vim \ |
| python3.8 python3.8-dev python3-pip && \ |
| ln -s /usr/bin/python3 /usr/bin/python && \ |
| mkdir -p /var/opt/ONAP && \ |
| pip3 install --no-cache-dir -r requirements.txt && \ |
| pip3 install --no-cache-dir \ |
| git+https://$PYTHON_UTILS_REPO@$PYTHON_UTILS_TAG#egg=robotframework-onap\&subdirectory=robotframework-onap && \ |
| git clone --depth 1 https://$TESTSUITE_REPO -b $TESTSUITE_TAG /var/opt/ONAP && \ |
| git clone --depth 1 https://$DEMO_REPO -b $DEMO_TAG /var/opt/ONAP/demo && \ |
| chmod +x /usr/local/bin/kubectl && \ |
| chmod 700 get_helm.sh && \ |
| ./get_helm.sh --version $HELM_VERSION && \ |
| mkdir -p /app && \ |
| cp /var/opt/ONAP/setup-hvves.sh /app |
| |
| |
| RUN python3.8 -m pip install --no-cache-dir setuptools wheel |
| RUN python3.8 -m pip install --no-cache-dir virtualenv |
| |
| # Copy the robot code |
| RUN mkdir -p /etc/lighttpd && \ |
| rm /etc/lighttpd/lighttpd.conf && \ |
| ln -s /var/opt/ONAP/docker/lighttpd.conf /etc/lighttpd/lighttpd.conf && \ |
| ln -s /var/opt/ONAP/docker/authorization /etc/lighttpd/authorization && \ |
| chmod 777 /var/opt/ONAP/setup.sh \ |
| && chmod 777 /var/opt/ONAP/runTags.sh \ |
| && chmod 777 /var/opt/ONAP/dnstraffic.sh \ |
| && chmod 777 /var/opt/ONAP/runSoak.sh \ |
| && chmod 777 /var/opt/ONAP/runEteTag.sh \ |
| && chmod 600 /var/opt/ONAP/robot/assets/keys/* && \ |
| cd /var/opt/ONAP && ./setup.sh \ |
| && apt-get autoremove --assume-yes \ |
| && rm -rf /var/lib/apt/lists/* \ |
| && apt-get clean |
| CMD ["lighttpd", "-D", "-f", "/etc/lighttpd/lighttpd.conf"] |