# 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
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