blob: 371430a8744dcdf2451f1a50a3b32db880e0a562 [file] [log] [blame]
Felipe Vicens7334f682020-06-24 15:59:59 +02001# Copyright 2020 ETSI
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12# implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
David Garciaa60ec732021-03-17 15:28:47 +010016########################################################################
17
18FROM ubuntu:18.04 as INSTALL
19
20RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
21 DEBIAN_FRONTEND=noninteractive apt-get --yes install \
22 gcc=4:7.4.0-1ubuntu2.3 \
23 python3=3.6.7-1~18.04 \
24 python3-dev=3.6.7-1~18.04 \
25 python3-setuptools=39.0.1-2 \
26 curl=7.58.0-2ubuntu3.13 && \
27 python3 -m easy_install pip==21.0.1
28
29RUN DEBIAN_FRONTEND=noninteractive apt-get --yes install \
beierlm023e83c2021-04-14 10:12:58 -040030 gettext-base \
David Garciaa60ec732021-03-17 15:28:47 +010031 git=1:2.17.1-1ubuntu0.8 \
beierlm99faf072021-04-15 14:52:00 -040032 iputils-ping=3:20161105-1ubuntu3 \
beierlm14e0ad72021-04-12 16:05:38 -040033 jq=1.5+dfsg-2 \
David Garciaa60ec732021-03-17 15:28:47 +010034 libcurl4-openssl-dev=7.58.0-2ubuntu3.13 \
35 libssl-dev=1.1.1-1ubuntu2.1~18.04.9
36
37ARG OSM_TESTS_URL
38ARG PYTHON3_OSM_IM_URL
39ARG PYTHON3_OSMCLIENT_URL
40
aktasf393f902021-05-27 09:47:19 +030041# Installing Juju
42ARG JUJU_VERSION_M=2.8
43ARG JUJU_VERSION_R=11
44ARG JUJU_VERSION=$JUJU_VERSION_M.$JUJU_VERSION_R
45
46RUN curl --output /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz -LO \
47 https://launchpad.net/juju/$JUJU_VERSION_M/$JUJU_VERSION/+download/juju-$JUJU_VERSION-linux-amd64.tar.xz && \
48 tar -xf /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz -C /tmp && \
49 install /tmp/juju /usr/local/bin/juju && \
50 rm /tmp/juju /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz
51
David Garciaa60ec732021-03-17 15:28:47 +010052RUN curl $PYTHON3_OSM_IM_URL -o osm_im.deb
53RUN dpkg -i ./osm_im.deb
54
55RUN curl $PYTHON3_OSMCLIENT_URL -o osmclient.deb
56RUN dpkg -i ./osmclient.deb
57
58RUN curl $OSM_TESTS_URL -o osm_tests.deb
59RUN dpkg -i ./osm_tests.deb
60
David Garciaa60ec732021-03-17 15:28:47 +010061RUN pip3 install \
62 -r /usr/lib/python3/dist-packages/osm_im/requirements.txt \
63 -r /usr/lib/python3/dist-packages/osmclient/requirements.txt \
64 -r /usr/share/osm-tests/requirements.txt
65
beierlm14e0ad72021-04-12 16:05:38 -040066RUN mv /usr/share/osm-tests/robot-systest /robot-systest
67RUN mv /usr/share/osm-tests/charm.sh /usr/sbin/charm
68
David Garciaa60ec732021-03-17 15:28:47 +010069RUN git clone \
70 https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git \
71 --recurse-submodules \
72 /robot-systest/osm-packages
73
Felipe Vicens7334f682020-06-24 15:59:59 +020074WORKDIR /robot-systest
75
Felipe Vicens7334f682020-06-24 15:59:59 +020076# Folder where Robot tests are stored
77ENV ROBOT_DEVOPS_FOLDER=/robot-systest
78
79# Folder to save alternative DUT environments (optional)
80ENV ENVIRONMENTS_FOLDER=environments
81
82# Folder where all required packages are stored
83ENV PACKAGES_FOLDER=/robot-systest/osm-packages
84
85# Folder where test results should be exported
86ENV ROBOT_REPORT_FOLDER=/robot-systest/results
87
88# Kubeconfig file
89ENV K8S_CREDENTIALS=/root/.kube/config
90
aktasf393f902021-05-27 09:47:19 +030091# Juju data folder
92ENV JUJU_DATA=/root/.local/share/juju
93
Felipe Vicens7334f682020-06-24 15:59:59 +020094ENV LC_ALL=C.UTF-8
95ENV LANG=C.UTF-8
96
beierlma4a37f72020-06-26 12:55:01 -040097ENTRYPOINT [ "/robot-systest/run_test.sh"]