Fix Docker file
[testsuite.git] / docker / Dockerfile
1 FROM ubuntu:18.04
2
3 ## Be careful of Windows newlines
4 MAINTAINER "ONAP"
5 LABEL name="Docker image for the ONAP Robot Testing Framework"
6 LABEL usage="docker run -e ROBOT_TEST=<testname> -ti onapete"
7 ENV BUILDTIME=true
8
9 ARG TESTSUITE_TAG=master
10 ARG HEATBRIDGE_TAG=master
11 ARG PYTHON_UTILS_TAG=master
12 ARG DEMO_TAG=master
13 ARG KUBERNETES_VERSION="v1.15.11"
14
15
16 ARG TESTSUITE_REPO=git.onap.org/testsuite
17 ARG HEATBRIDGE_REPO=git.onap.org/testsuite/heatbridge.git
18 ARG PYTHON_UTILS_REPO=git.onap.org/testsuite/python-testing-utils.git
19 ARG DEMO_REPO=git.onap.org/demo
20
21 COPY requirements.txt requirements.txt
22
23 # Install kubectl
24 # Note: Latest version may be found on:
25 # https://aur.archlinux.org/packages/kubectl-bin/
26 ADD https://storage.googleapis.com/kubernetes-release/release/${KUBERNETES_VERSION}/bin/linux/amd64/kubectl /usr/local/bin/kubectl
27
28 # Install Python, Pip, Robot framework, chromium, lighttpd web server
29 RUN apt-get update \
30     && apt-get install \
31         --no-install-recommends \
32         --assume-yes \
33             chromium-browser \
34             chromium-chromedriver \
35             dnsutils \
36             git \
37             gcc \
38             libffi-dev \
39             libssl-dev \
40             lighttpd \
41             make \
42             net-tools \
43             python2.7 python-dev python-setuptools python-wheel python-pip \
44             netbase \
45             unzip zip \
46             x11-utils x11-xserver-utils \
47             xvfb \
48             xxd  \
49             wget vim  \
50             python3.7 python3.7-dev python3-pip && \
51     mkdir -p /var/opt/ONAP && \
52     pip install -r requirements.txt && \
53     pip install --no-cache-dir \
54     git+https://$HEATBRIDGE_REPO@$HEATBRIDGE_TAG#egg=heatbridge\&subdirectory=heatbridge \
55     git+https://$PYTHON_UTILS_REPO@$PYTHON_UTILS_TAG#egg=robotframework-onap\&subdirectory=robotframework-onap && \
56     git clone --depth 1 https://$TESTSUITE_REPO -b $TESTSUITE_TAG /var/opt/ONAP && \
57     git clone --depth 1 https://$DEMO_REPO -b $DEMO_TAG /var/opt/ONAP/demo && \
58     chmod +x /usr/local/bin/kubectl
59
60 RUN python3.7 -m pip install setuptools wheel
61 RUN python3.7 -m pip install virtualenv
62
63 # Copy the robot code
64 RUN mkdir -p /etc/lighttpd && \
65     rm /etc/lighttpd/lighttpd.conf && \
66     ln -s /var/opt/ONAP/docker/lighttpd.conf /etc/lighttpd/lighttpd.conf && \
67     ln -s /var/opt/ONAP/docker/authorization /etc/lighttpd/authorization && \
68     chmod 777 /var/opt/ONAP/setup.sh \
69     && chmod 777 /var/opt/ONAP/runTags.sh \
70     && chmod 777 /var/opt/ONAP/dnstraffic.sh \
71     && chmod 777 /var/opt/ONAP/runSoak.sh \
72     && chmod 777 /var/opt/ONAP/runEteTag.sh \
73     && chmod 600 /var/opt/ONAP/robot/assets/keys/* && \
74     cd /var/opt/ONAP && ./setup.sh \
75     && apt-get autoremove --assume-yes \
76     && rm -rf /var/lib/apt/lists/*  \
77     && apt-get clean
78 CMD ["lighttpd", "-D", "-f",  "/etc/lighttpd/lighttpd.conf"]