blob: 303642b3bac4addd765ad958e3843ba66de325e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
ARG USER
FROM $USER/debian-stretch-jenkins
MAINTAINER Pau Espin Pedrol <pespin@sysmocom.de>
# Create jenkins user
RUN useradd -ms /bin/bash jenkins
# Create osmo-gsm-tester group and add user to it
RUN groupadd osmo-gsm-tester
RUN usermod -a -G osmo-gsm-tester jenkins
# install osmo-gsm-tester dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
dbus \
tcpdump \
sqlite3 \
python3 \
python3-setuptools \
python3-yaml \
python3-mako \
python3-gi \
python3-numpy \
python3-wheel \
ofono \
patchelf \
sudo \
libcap2-bin \
python3-pip \
udhcpc \
iperf3 \
locales
# install osmo-gsm-tester pip dependencies
RUN pip3 install \
"git+https://github.com/podshumok/python-smpplib.git@master#egg=smpplib" \
pydbus \
pyusb \
pysispm
# Intall sshd:
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
COPY ssh /root/.ssh
COPY --chown=jenkins:jenkins ssh /home/jenkins/.ssh
RUN chmod -R 0700 /home/jenkins/.ssh /root/.ssh
# Create directories for slaves with correct file permissions:
RUN mkdir -p /osmo-gsm-tester-srsue \
/osmo-gsm-tester-srsenb \
/osmo-gsm-tester-srsepc \
/osmo-gsm-tester-trx
RUN chown -R jenkins:jenkins \
/osmo-gsm-tester-srsue \
/osmo-gsm-tester-srsenb \
/osmo-gsm-tester-srsepc \
/osmo-gsm-tester-trx
# Set a UTF-8 locale
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8
# We require a newer patchelf for srsue (OS#4389)
ADD https://nixos.org/releases/patchelf/patchelf-0.10/patchelf-0.10.tar.bz2 /tmp/patchelf-0.10.tar.bz2
RUN cd /tmp && \
tar -jxf /tmp/patchelf-0.10.tar.bz2 && \
cd patchelf-0.10 && \
./configure --prefix=/opt && \
make && \
mkdir -p /opt/bin/ && \
cp src/patchelf /opt/bin/patchelf-v0.10
ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/"
COPY Release.key /tmp/Release.key
RUN apt-key add /tmp/Release.key && \
rm /tmp/Release.key && \
echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list
ADD $OSMOCOM_REPO/Release /tmp/Release
RUN apt-get update && \
apt-get install -y --no-install-recommends \
telnet \
libosmocore-dev \
libosmo-abis-dev \
libosmo-gsup-client-dev \
libosmo-netif-dev \
libosmo-ranap-dev \
libosmo-sccp-dev \
libosmo-sigtran-dev \
libsmpp34-dev \
libgtp-dev \
libasn1c-dev && \
apt-get clean
# install srsLTE runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
cmake \
libfftw3-dev \
libmbedtls-dev \
libboost-program-options-dev \
libconfig++-dev \
libsctp-dev \
libpcsclite-dev \
libuhd-dev \
libczmq-dev \
libsoapysdr-dev \
soapysdr0.7-module-lms7 && \
apt-get clean
WORKDIR /tmp
ARG OSMO_GSM_TESTER_BRANCH="master"
RUN git clone git://git.osmocom.org/osmo-gsm-tester.git
ADD http://git.osmocom.org/osmo-gsm-tester/patch?h=$OSMO_GSM_TESTER_BRANCH /tmp/commit
RUN cd osmo-gsm-tester && \
git fetch && git checkout $OSMO_GSM_TESTER_BRANCH && \
(git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_GSM_TESTER_BRANCH || exit 1); \
git rev-parse --abbrev-ref HEAD && git rev-parse HEAD
# Copy several scripts and permission for osmo-gsm-tester:
RUN mkdir -p /usr/local/bin/ && cp osmo-gsm-tester/utils/bin/* /usr/local/bin/
RUN mkdir -p /etc/sudoers.d/ && cp osmo-gsm-tester/utils/sudoers.d/* /etc/sudoers.d/
RUN mkdir -p /etc/security/limits.d/ && cp osmo-gsm-tester/utils/limits.d/* /etc/security/limits.d/
VOLUME /data
COPY resources.conf /tmp/osmo-gsm-tester/example/resources.conf
ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/example
WORKDIR /data
CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"]
EXPOSE 22/tcp
|