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