X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=docker%2FDockerfile;h=b8220a32bb5792fbb329d28eff2a391899ae1e2e;hb=8ceaee06848023c31ec4a18becff9ab8ff5d517f;hp=cc484bd85291edea1bbc7c1b2dd891cf756f1e3b;hpb=f47542be165ebd69b91945041697181b4df63954;p=osm%2Ftests.git diff --git a/docker/Dockerfile b/docker/Dockerfile index cc484bd..b8220a3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -13,44 +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 - -# Installing Juju -ARG JUJU_VERSION_M=2.8 -ARG JUJU_VERSION_R=11 -ARG JUJU_VERSION=$JUJU_VERSION_M.$JUJU_VERSION_R - -RUN curl --output /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz -LO \ - https://launchpad.net/juju/$JUJU_VERSION_M/$JUJU_VERSION/+download/juju-$JUJU_VERSION-linux-amd64.tar.xz && \ - tar -xf /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz -C /tmp && \ - install /tmp/juju /usr/local/bin/juju && \ - rm /tmp/juju /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz - -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 @@ -62,13 +77,13 @@ 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 -# Juju data folder -ENV JUJU_DATA=/root/.local/share/juju +# OSM RSA file +ENV OSM_RSA_FILE=/root/osm_id_rsa ENV LC_ALL=C.UTF-8 ENV LANG=C.UTF-8