summaryrefslogtreecommitdiffstats
path: root/doc/README.txt
blob: c00cd3e221b8c0b5c22aba10dc33e38a7732d3a1 (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
DOCUMENTATION

For the complete documentation, please refer to the osmo-gsm-manuals:
http://git.osmocom.org/osmo-gsm-manuals/
http://jenkins.osmocom.org/jenkins/job/Osmocom_Manuals/ws/


INSTALLATION

So far the osmo-gsm-tester directory is manually placed in /usr/local/src


DEPENDENCIES

Packages required to run the osmo-gsm-tester:

  apt-get install \
  dbus \
  tcpdump \
  sqlite3 \
  python3 \
  python3-yaml \
  python3-mako \
  python3-gi \
  ofono \
  python3-pip
  pip3 install git+git://github.com/podshumok/python-smpplib.git
  pip3 install pydbus

To build ofono:
  apt-get install libglib2.0-dev \
		  libdbus-1-dev \
		  libudev-dev \
		  mobile-broadband-provider-info


INSTALLATION

Place a copy of the osmo-gsm-tester repository in /usr/local/src/

  cp install/osmo-gsm-tester-limits.conf /etc/security/limits.d/
  cp install/*.service /lib/systemd/system/
  cp install/org.ofono.conf /etc/dbus-1/system.d/
  systemctl daemon-reload

To run:

  systemctl enable ofono
  systemctl start ofono
  systemctl status ofono

  systemctl enable osmo-gsm-tester
  systemctl start osmo-gsm-tester
  systemctl status osmo-gsm-tester


To stop:

  systemctl stop osmo-gsm-tester

After ofonod has been started and modems have been connected to the system,
you can run the 'list-modems' script located in /usr/local/src/ofono/test to get
a list of the modems that have been detected by ofono.


CONFIGURATION

Host System configuration

Create the /var/tmp/osmo-gsm-tester directory. It will be used to accept new test jobs.

Test resources (NITB, BTS and modems) are currently configured in the test_manager.py.

For every nitb resource that can be allocated, one alias IP address needs
to be set up in /etc/network/interfaces on the interface that is connected to the BTSes.
By add the following lines for each nitb instance that can be allocated (while making
sure each interface alias and IP is unique)

  auto eth1:0
  allow-hotplug eth1:0
  iface eth1:0 inet static
	address 10.42.42.2
	netmask 255.255.255.0

Also make sure, the user executing the tester is allowed to run tcpdump.  If
the user is not root, we have used the folloing line to get proper permissions:

  groupadd pcap
  addgroup <your-user-name> pcap
  setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
  chgroup pcap /usr/sbin/tcpdump
  chmod 0750 /usr/sbin/tcpdump

The tester main unit must be able to ssh without password to the sysmobts (and
possibly other) hardware: place the main unit's public SSH key on the sysmoBTS.
Log in via SSH at least once to accept the BTS' host key.


Jenkins Configuration

(TODO: jenkins build slave details)

When adding an entry to jenkins' known_hosts file, be aware that you need to
add an actual RSA host key. Using 'ssh' to access the main unit may work, but
jenkins will still fail to access it in the absence of a full RSA host key:

  ssh-keyscan -H $my_main_unit_ip_addr >> ~jenkins/.ssh/known_hosts


LAUNCHING A TEST RUN

osmo-gsm-tester watches /var/tmp/osmo-gsm-tester for instructions to launch
test runs.  A test run is triggered by a subdirectory containing binaries and a
checksums file, typically created by jenkins using the scripts in contrib/.