blob: c00cd3e221b8c0b5c22aba10dc33e38a7732d3a1 [file] [log] [blame]
Neels Hofmeyrac45a222017-04-14 04:18:21 +02001DOCUMENTATION
2
3For the complete documentation, please refer to the osmo-gsm-manuals:
4http://git.osmocom.org/osmo-gsm-manuals/
5http://jenkins.osmocom.org/jenkins/job/Osmocom_Manuals/ws/
6
7
Neels Hofmeyrdae3d3c2017-03-28 12:16:58 +02008INSTALLATION
9
10So far the osmo-gsm-tester directory is manually placed in /usr/local/src
11
12
13DEPENDENCIES
14
15Packages required to run the osmo-gsm-tester:
16
Neels Hofmeyrfeb56c02017-05-10 13:20:55 +020017 apt-get install \
18 dbus \
19 tcpdump \
Neels Hofmeyr798e5922017-05-18 15:24:02 +020020 sqlite3 \
Neels Hofmeyrfeb56c02017-05-10 13:20:55 +020021 python3 \
22 python3-yaml \
23 python3-mako \
24 python3-gi \
25 ofono \
Neels Hofmeyrc0ee10c2017-04-27 20:25:14 +020026 python3-pip
Neels Hofmeyrfeb56c02017-05-10 13:20:55 +020027 pip3 install git+git://github.com/podshumok/python-smpplib.git
28 pip3 install pydbus
Neels Hofmeyrdae3d3c2017-03-28 12:16:58 +020029
30To build ofono:
Neels Hofmeyrfeb56c02017-05-10 13:20:55 +020031 apt-get install libglib2.0-dev \
32 libdbus-1-dev \
33 libudev-dev \
34 mobile-broadband-provider-info
Neels Hofmeyrdae3d3c2017-03-28 12:16:58 +020035
36
37INSTALLATION
38
39Place a copy of the osmo-gsm-tester repository in /usr/local/src/
40
41 cp install/osmo-gsm-tester-limits.conf /etc/security/limits.d/
42 cp install/*.service /lib/systemd/system/
43 cp install/org.ofono.conf /etc/dbus-1/system.d/
44 systemctl daemon-reload
45
46To run:
47
48 systemctl enable ofono
49 systemctl start ofono
50 systemctl status ofono
51
52 systemctl enable osmo-gsm-tester
53 systemctl start osmo-gsm-tester
54 systemctl status osmo-gsm-tester
55
56
57To stop:
58
59 systemctl stop osmo-gsm-tester
60
61After ofonod has been started and modems have been connected to the system,
62you can run the 'list-modems' script located in /usr/local/src/ofono/test to get
63a list of the modems that have been detected by ofono.
64
65
66CONFIGURATION
67
68Host System configuration
69
70Create the /var/tmp/osmo-gsm-tester directory. It will be used to accept new test jobs.
71
72Test resources (NITB, BTS and modems) are currently configured in the test_manager.py.
73
74For every nitb resource that can be allocated, one alias IP address needs
75to be set up in /etc/network/interfaces on the interface that is connected to the BTSes.
76By add the following lines for each nitb instance that can be allocated (while making
77sure each interface alias and IP is unique)
78
79 auto eth1:0
80 allow-hotplug eth1:0
81 iface eth1:0 inet static
82 address 10.42.42.2
83 netmask 255.255.255.0
84
85Also make sure, the user executing the tester is allowed to run tcpdump. If
86the user is not root, we have used the folloing line to get proper permissions:
87
88 groupadd pcap
89 addgroup <your-user-name> pcap
90 setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
91 chgroup pcap /usr/sbin/tcpdump
92 chmod 0750 /usr/sbin/tcpdump
93
94The tester main unit must be able to ssh without password to the sysmobts (and
95possibly other) hardware: place the main unit's public SSH key on the sysmoBTS.
96Log in via SSH at least once to accept the BTS' host key.
97
98
Neels Hofmeyrcceb0f52017-05-10 16:46:26 +020099Jenkins Configuration
100
101(TODO: jenkins build slave details)
102
103When adding an entry to jenkins' known_hosts file, be aware that you need to
104add an actual RSA host key. Using 'ssh' to access the main unit may work, but
105jenkins will still fail to access it in the absence of a full RSA host key:
106
107 ssh-keyscan -H $my_main_unit_ip_addr >> ~jenkins/.ssh/known_hosts
108
109
Neels Hofmeyrdae3d3c2017-03-28 12:16:58 +0200110LAUNCHING A TEST RUN
111
112osmo-gsm-tester watches /var/tmp/osmo-gsm-tester for instructions to launch
113test runs. A test run is triggered by a subdirectory containing binaries and a
Neels Hofmeyr3531a192017-03-28 14:30:28 +0200114checksums file, typically created by jenkins using the scripts in contrib/.