Update Dockerfile to replicate Devops Dockerfile as much as possible
[osm/tests.git] / docker / Dockerfile
index b3b7860..b8220a3 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Author: Felipe Vicens (felipe.vicens@atos.net) ATOS
+########################################################################
+
+FROM ubuntu:20.04 as FINAL
+
+RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
+    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
+    gcc=4:9.3.* \
+    python3=3.8.* \
+    python3-dev=3.8.* \
+    python3-pip=20.0.2* \
+    python3-setuptools=45.2.* \
+    curl=7.68.*
+
+RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
+    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
+    gettext-base=0.19.* \
+    git=1:2.25.* \
+    iputils-ping=3:* \
+    jq=1.6* \
+    libcurl4-openssl-dev=7.68.* \
+    libssl-dev=1.1.*
+
+##### Different from devops/docker/tests/Dockerfile
+RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
+    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
+    software-properties-common apt-transport-https
+
+ARG OSM_REPOSITORY="deb [arch=amd64] https://osm-download.etsi.org/repository/osm/debian/testing-daily testing IM osmclient"
+RUN curl -q -o OSM-ETSI-Release-key.gpg "https://osm-download.etsi.org/repository/osm/debian/testing-daily/OSM%20ETSI%20Release%20Key.gpg" && \
+    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add OSM-ETSI-Release-key.gpg && \
+    DEBIAN_FRONTEND=noninteractive add-apt-repository -y "$OSM_REPOSITORY" && \
+    DEBIAN_FRONTEND=noninteractive apt-get -y update && \
+    apt-get install python3-osm-im python3-osmclient
+
+RUN pip3 install \
+    -r /usr/lib/python3/dist-packages/osm_im/requirements.txt \
+    -r /usr/lib/python3/dist-packages/osmclient/requirements.txt
 
-FROM ubuntu:18.04
-
-# Installing robot dependencies
-RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install git software-properties-common \
-    make python3 debhelper python3-pip apt-utils ssh iputils-ping libcurl4-openssl-dev libssl-dev cargo rustc
-
-RUN add-apt-repository -y ppa:rmescandon/yq && apt update && apt install yq -y
+COPY robot-systest /robot-systest
+COPY charm.sh /usr/sbin/charm
+COPY requirements.txt /robot-systest
 
-RUN python3 -m pip install -U pip
+RUN pip3 install \
+    -r /robot-systest/requirements.txt
+###################################################
 
-RUN python3 -m pip install charm-tools haikunator python-openstackclient requests robotframework \
-    robotframework-seleniumlibrary robotframework-requests robotframework-jsonlibrary robotframework-sshlibrary \
-    setuptools setuptools-rust git+https://osm.etsi.org/gerrit/osm/IM.git \
-    git+https://osm.etsi.org/gerrit/osm/osmclient.git
+ARG CACHE_DATE=not_a_date
+RUN git clone \
+    https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git \
+    --recurse-submodules \
+    /robot-systest/osm-packages
 
-# Preparing working environment
 WORKDIR /robot-systest
-RUN git clone --branch sol006 https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git --recurse-submodules /robot-systest/osm-packages
-
-# Copy robot folder and charm.sh
-COPY robot-systest /robot-systest
-COPY charm.sh /usr/sbin/charm
-
-# Copy conformance tests data
-COPY conformance-tests /robot-systest/conformance-tests
 
 # Folder where Robot tests are stored
 ENV ROBOT_DEVOPS_FOLDER=/robot-systest
@@ -51,7 +77,7 @@ ENV ENVIRONMENTS_FOLDER=environments
 ENV PACKAGES_FOLDER=/robot-systest/osm-packages
 
 # Folder where test results should be exported
-ENV ROBOT_REPORT_FOLDER=/robot-systest/reports
+ENV ROBOT_REPORT_FOLDER=/robot-systest/results
 
 # Kubeconfig file
 ENV K8S_CREDENTIALS=/root/.kube/config