summaryrefslogtreecommitdiffstats
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile122
1 files changed, 59 insertions, 63 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index d52b4c2f..3ad7181a 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,82 +1,78 @@
-FROM ubuntu:20.04
+FROM ubuntu:20.04 as base
## 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
+ENV DEBIAN_FRONTEND noninteractive
-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 KUBERNETES_VERSION="v1.23.8"
+ARG HELM_VERSION="v3.8.2"
-ARG TESTSUITE_REPO=git.onap.org/testsuite
ARG PYTHON_UTILS_REPO=git.onap.org/testsuite/python-testing-utils.git
+ARG PYTHON_UTILS_TAG=master
+
ARG DEMO_REPO=git.onap.org/demo
-ARG DEBIAN_FRONTEND=noninteractive
+ARG DEMO_TAG=master
-COPY requirements.txt requirements.txt
+# Install apt packages, Python, Pip, etc
+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 && \
+ apt-get autoremove --assume-yes && \
+ rm -rf /var/lib/apt/lists/* && \
+ apt-get clean
-# Install kubectl
-# Note: Latest version may be found on:
-# https://aur.archlinux.org/packages/kubectl-bin/
+# Get kubectl
ADD https://storage.googleapis.com/kubernetes-release/release/${KUBERNETES_VERSION}/bin/linux/amd64/kubectl /usr/local/bin/kubectl
+# Get helm
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
+COPY requirements.txt requirements.txt
+
+RUN mkdir -p /var/opt/ONAP && \
+ pip3 install --no-cache-dir -r requirements.txt setuptools wheel virtualenv && \
+ pip3 install --no-cache-dir git+https://$PYTHON_UTILS_REPO@$PYTHON_UTILS_TAG#egg=robotframework-onap\&subdirectory=robotframework-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
+
+COPY html/ /var/opt/ONAP/html
+COPY robot/ /var/opt/ONAP/robot
+COPY *.sh /var/opt/ONAP/
+COPY docker/lighttpd.conf /etc/lighttpd/lighttpd.conf
+COPY docker/authorization /etc/lighttpd/authorization
-RUN python3.8 -m pip install --no-cache-dir setuptools wheel
-RUN python3.8 -m pip install --no-cache-dir virtualenv
+RUN mkdir -p /app && \
+ cp /var/opt/ONAP/setup-hvves.sh /app && \
+ chmod 600 /var/opt/ONAP/robot/assets/keys/* && \
+ chmod 777 /var/opt/ONAP/*.sh && \
+ cd /var/opt/ONAP && \
+ ./setup.sh
-# 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"]