X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=docker%2FDockerfile;h=c8e97dc09f22b8f4662b5a69e9be7db28a5b6c16;hb=refs%2Ftags%2F1.10.0;hp=bdd6d447b9f3a96e09c5389d1aaf4c3e3adb908f;hpb=c2db61263b74bff702e860f10100ecd4ea4ed51c;p=testsuite.git diff --git a/docker/Dockerfile b/docker/Dockerfile index bdd6d447..c8e97dc0 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,57 +1,81 @@ -FROM ubuntu +FROM ubuntu:18.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= -ti onapete" +ENV BUILDTIME=true -MAINTAINER "OpenECOMP" - -LABEL name="Docker image for the OpenECOMP Robot Testing Framework" -LABEL usage="docker run -e ROBOT_TEST= -ti openecompete" - -# Install Python Pip, Robot framework, firefox, lighttpd web server, wget -# Restructuring so we can see where it fails in the build. -RUN apt-get update -RUN apt-get --assume-yes install python2.7 -RUN apt-get --assume-yes install build-essential -RUN apt-get --assume-yes install dbus -RUN apt-get --assume-yes install dnsutils -RUN apt-get --assume-yes install git -RUN apt-get --assume-yes install libappindicator1 -RUN apt-get --assume-yes install libffi-dev -RUN apt-get --assume-yes install libindicator7 -RUN apt-get --assume-yes install libssl-dev -RUN apt-get --assume-yes install libxss1 -RUN apt-get --assume-yes install lighttpd -RUN apt-get --assume-yes install net-tools -RUN apt-get --assume-yes install python-dev -RUN apt-get --assume-yes install python-pip -RUN apt-get --assume-yes install unzip -RUN apt-get --assume-yes install wget -RUN apt-get --assume-yes install xvfb -RUN pip install --upgrade pip -RUN pip install robotframework -RUN python --version - -# Install chrome -RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \ - echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list && \ - apt-get update && \ - apt-get --assume-yes install google-chrome-stable +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" -# Copy the robot code -COPY / /var/opt/OpenECOMP_ETE/ -COPY lighttpd.conf /etc/lighttpd/lighttpd.conf -RUN chmod 777 /var/opt/OpenECOMP_ETE/setup.sh && \ - chmod 777 /var/opt/OpenECOMP_ETE/runTags.sh && \ - chmod 777 /var/opt/OpenECOMP_ETE/dnstraffic.sh && \ - chmod 777 /var/opt/OpenECOMP_ETE/runSoak.sh && \ - chmod 777 /var/opt/OpenECOMP_ETE/runEteTag.sh +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 -# Set mode for the SSH keys -RUN chmod 600 /var/opt/OpenECOMP_ETE/robot/assets/keys/* +COPY requirements.txt requirements.txt -# Update the ssh library so that it will run properly in the docker env -RUN cd /var/opt/OpenECOMP_ETE && ./setup.sh && apt-get clean +# 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 -CMD ["lighttpd", "-D", "-f", "/etc/lighttpd/lighttpd.conf"] +# 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 \ + python2.7 python-dev python-setuptools python-wheel python-pip \ + netbase \ + unzip zip \ + x11-utils x11-xserver-utils \ + xvfb \ + xxd \ + wget vim \ + python3.7 python3.7-dev python3-pip && \ + mkdir -p /var/opt/ONAP && \ + pip install --no-cache-dir -r requirements.txt && \ + pip 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.7 -m pip install --no-cache-dir setuptools wheel +RUN python3.7 -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"]