osmo-gsm-tester/doc
Pau Espin 7e0b2ddfb8 doc/manual: Refactor, rewrite, improve and update most of the User Manual
* Some TODOs are added as comments which actually require code changes.
  These are details which showed up as incongruences or missing bits
  while writing the documentation for them.

* Some sections are introduced but still waiting to be writen soon:
** Debugging section
** Docker Setup section
** Ansible Setup section
** Troubleshooting (add jenkins red cross button sending kill -9)
** resources.conf attribute list needs to be converted to a table

* Device related setup needs to be updated and extended
* Parametrized scenarios need to be documented
* 4G resources documentation needs to be added.

Change-Id: Ifc2a3c74d45336cc988b76c0ff68a85311e4dd40
2020-03-12 17:50:06 +00:00
..
manuals doc/manual: Refactor, rewrite, improve and update most of the User Manual 2020-03-12 17:50:06 +00:00
README-sysmobts.txt readme: add some ssh details 2017-05-11 10:34:03 +00:00
README.txt doc: Update list of dependencies and add pysispm one 2019-02-19 09:34:09 +00:00

README.txt

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/.