117 lines
3.2 KiB
Plaintext
117 lines
3.2 KiB
Plaintext
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 \
|
|
python3-usb
|
|
pip3 install git+git://github.com/podshumok/python-smpplib.git
|
|
pip3 install pydbus
|
|
pip3 install pysispm
|
|
|
|
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/.
|