From: garciadeblas Date: Tue, 24 May 2022 09:22:57 +0000 (+0200) Subject: Update Dockerfile to replicate Devops Dockerfile as much as possible X-Git-Tag: v12.0.0rc1~12 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=0a6041737c93416cbaa1ec4855d37b9c8fda5690;p=osm%2Ftests.git Update Dockerfile to replicate Devops Dockerfile as much as possible Change-Id: I137c2c73090b0eb49c905f02763bc10f761220ba Signed-off-by: garciadeblas --- diff --git a/docker/Dockerfile b/docker/Dockerfile index b3b7860..b8220a3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -13,33 +13,59 @@ # 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