blob: 3bc0ce94a5e09fdac163e9c0cd756ebf71bcb118 [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 \
palsusb89f26b2021-08-04 18:12:21 +000026 curl=7.58.0-2ubuntu3.14 \
beierlm023e83c2021-04-14 10:12:58 -040027 gettext-base \
David Garciaa60ec732021-03-17 15:28:47 +010028 git=1:2.17.1-1ubuntu0.8 \
beierlm99faf072021-04-15 14:52:00 -040029 iputils-ping=3:20161105-1ubuntu3 \
beierlm14e0ad72021-04-12 16:05:38 -040030 jq=1.5+dfsg-2 \
palsusb89f26b2021-08-04 18:12:21 +000031 libcurl4-openssl-dev=7.58.0-2ubuntu3.14 \
32 libssl-dev=1.1.1-1ubuntu2.1~18.04.9 && \
33 python3 -m easy_install pip==21.0.1
David Garciaa60ec732021-03-17 15:28:47 +010034
35ARG OSM_TESTS_URL
36ARG PYTHON3_OSM_IM_URL
37ARG PYTHON3_OSMCLIENT_URL
38
aktas20611222021-05-27 09:47:19 +030039# Installing Juju
40ARG JUJU_VERSION_M=2.8
41ARG JUJU_VERSION_R=11
42ARG JUJU_VERSION=$JUJU_VERSION_M.$JUJU_VERSION_R
43
44RUN curl --output /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz -LO \
45 https://launchpad.net/juju/$JUJU_VERSION_M/$JUJU_VERSION/+download/juju-$JUJU_VERSION-linux-amd64.tar.xz && \
46 tar -xf /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz -C /tmp && \
47 install /tmp/juju /usr/local/bin/juju && \
48 rm /tmp/juju /tmp/juju-$JUJU_VERSION-linux-amd64.tar.xz
49
David Garciaa60ec732021-03-17 15:28:47 +010050RUN curl $PYTHON3_OSM_IM_URL -o osm_im.deb
51RUN dpkg -i ./osm_im.deb
52
53RUN curl $PYTHON3_OSMCLIENT_URL -o osmclient.deb
54RUN dpkg -i ./osmclient.deb
55
56RUN curl $OSM_TESTS_URL -o osm_tests.deb
57RUN dpkg -i ./osm_tests.deb
58
David Garciaa60ec732021-03-17 15:28:47 +010059RUN pip3 install \
60 -r /usr/lib/python3/dist-packages/osm_im/requirements.txt \
61 -r /usr/lib/python3/dist-packages/osmclient/requirements.txt \
62 -r /usr/share/osm-tests/requirements.txt
63
beierlm14e0ad72021-04-12 16:05:38 -040064RUN mv /usr/share/osm-tests/robot-systest /robot-systest
65RUN mv /usr/share/osm-tests/charm.sh /usr/sbin/charm
66
David Garciaa60ec732021-03-17 15:28:47 +010067RUN git clone \
68 https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git \
69 --recurse-submodules \
70 /robot-systest/osm-packages
71
Felipe Vicens7334f682020-06-24 15:59:59 +020072WORKDIR /robot-systest
73
Felipe Vicens7334f682020-06-24 15:59:59 +020074# Folder where Robot tests are stored
75ENV ROBOT_DEVOPS_FOLDER=/robot-systest
76
77# Folder to save alternative DUT environments (optional)
78ENV ENVIRONMENTS_FOLDER=environments
79
80# Folder where all required packages are stored
81ENV PACKAGES_FOLDER=/robot-systest/osm-packages
82
83# Folder where test results should be exported
84ENV ROBOT_REPORT_FOLDER=/robot-systest/results
85
86# Kubeconfig file
87ENV K8S_CREDENTIALS=/root/.kube/config
88
aktas20611222021-05-27 09:47:19 +030089# Juju data folder
90ENV JUJU_DATA=/root/.local/share/juju
91
Felipe Vicens7334f682020-06-24 15:59:59 +020092ENV LC_ALL=C.UTF-8
93ENV LANG=C.UTF-8
94
beierlma4a37f72020-06-26 12:55:01 -040095ENTRYPOINT [ "/robot-systest/run_test.sh"]