From dae3d3c47906379061d57854fd140e8a7a12a25c Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Tue, 28 Mar 2017 12:16:58 +0200 Subject: initial import The original osmo-gsm-tester was an internal development at sysmocom, mostly by D. Laszlo Sitzer , of which this public osmo-gsm-tester is a refactoring / rewrite. This imports an early state of the refactoring and is not functional yet. Bits from the earlier osmo-gsm-tester will be added as needed. The earlier commit history is not imported. --- doc/README-sysmobts.txt | 59 +++++++++++++++++++++++++++++++ doc/README.txt | 92 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 doc/README-sysmobts.txt create mode 100644 doc/README.txt (limited to 'doc') diff --git a/doc/README-sysmobts.txt b/doc/README-sysmobts.txt new file mode 100644 index 0000000..695c685 --- /dev/null +++ b/doc/README-sysmobts.txt @@ -0,0 +1,59 @@ +SETTING UP sysmobts + +PACKAGE VERSIONS + +Depending on the code to be tested, select the stable, testing or nightly opkg +feed: + +To change the feed and packages installed on the sysmobts edit the +following files in /etc/opkg/ + +* all-feed.conf +* armv5te-feed.conf +* sysmobts-v2-feed.conf + +and adjust the URL. For example, to move to the testing feeds: + + sed -i 's/201310/201310-testing/g' /etc/opkg/*.conf + +Then run 'opkg update', 'opkg upgrade' and finally 'reboot'. + + +DISABLE SERVICES + +To use the sysmobts together with the tester, the following systemd services must be disabled +but using the mask and not using the disable option. You can use the following lines: + +systemctl mask osmo-nitb +systemctl mask sysmobts +systemctl mask sysmobts-mgr + + +SSH ACCESS + +Copy the SSH public key from the system/user that runs the tester to the BTS +authorized keys file so the tester will be able to deploy binaries. + +It is also advisable to configure the eth0 network interface of the BTS to a +static IP address instead of using DHCP. To do so adjust /etc/network/interfaces +and change the line + + iface eth0 inet dhcp + +to + + iface eth0 inet static + address 10.42.42.114 + netmask 255.255.255.0 + gateway 10.42.42.1 + +Set the name server in /etc/resolve.conf (most likely to the IP of the +gateway). + + +ALLOW CORE FILES + +In case a binary run for the test crashes, we allow it to write a core file, to +be able to analyze the crash later. This requires a limit rule: + + scp install/osmo-gsm-tester-limits.conf sysmobts:/etc/security/limits.d/ diff --git a/doc/README.txt b/doc/README.txt new file mode 100644 index 0000000..9d2b91a --- /dev/null +++ b/doc/README.txt @@ -0,0 +1,92 @@ +INSTALLATION + +So far the osmo-gsm-tester directory is manually placed in /usr/local/src + + +DEPENDENCIES + +Packages required to run the osmo-gsm-tester: + + dbus + python3 + python3-dbus + python3-pip + python3-mako + tcpdump + smpplib (pip install git+git://github.com/podshumok/python-smpplib.git) + ofono + +To build ofono: + 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 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. + + +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 +manifest file, typically created by jenkins using the enclosed scripts. -- cgit v1.2.3