<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Rework README file<br><br>Drop old one in doc/ which contains lots of outadated stuff already<br>placed in the User Manual.<br>Write a new markdown README in the root directory with pointers to<br>places in the repo and the issue tracket, ansible setup, etc.<br><br>Change-Id: I9febe56223eaeadc9d31291dd0110a11470e3ab1<br>---<br>A README.md<br>D doc/README.txt<br>2 files changed, 28 insertions(+), 116 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/60/18060/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/README.md b/README.md</span><br><span>new file mode 100644</span><br><span>index 0000000..3394969</span><br><span>--- /dev/null</span><br><span>+++ b/README.md</span><br><span>@@ -0,0 +1,28 @@</span><br><span style="color: hsl(120, 100%, 40%);">+About Osmo-GSM-Tester</span><br><span style="color: hsl(120, 100%, 40%);">+=====================</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Osmo-GSM-Tester is a software to run automated tests on real hardware, initially</span><br><span style="color: hsl(120, 100%, 40%);">+foremost to verify that ongoing Osmocom software development continues to work</span><br><span style="color: hsl(120, 100%, 40%);">+with various BTS models, while being flexibly configurable and extendable to</span><br><span style="color: hsl(120, 100%, 40%);">+work for other technologies, setups and projects. It can nowadays also be used</span><br><span style="color: hsl(120, 100%, 40%);">+to run 4G networks with components from different providers.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Find Osmo-GSM-Tester issue tracker and wiki online at</span><br><span style="color: hsl(120, 100%, 40%);">+https://osmocom.org/projects/osmo-gsm-tester</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Simple configuration setups can be found under _doc/examples/_ directory. A</span><br><span style="color: hsl(120, 100%, 40%);">+Osmocom's public Osmo-Gsm-Tester configuration setup is also maintained here</span><br><span style="color: hsl(120, 100%, 40%);">+under _sysmocom/_ as a reference for others.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Ansible scripts to set up hosts to be used as Osmo-GSM-Tester Main Units or/and</span><br><span style="color: hsl(120, 100%, 40%);">+Slave Units on the above mentioned setup can be found at</span><br><span style="color: hsl(120, 100%, 40%);">+https://git.osmocom.org/osmo-ci/tree/ansible, which actually install sample</span><br><span style="color: hsl(120, 100%, 40%);">+system configuration files from _utils/_ directory in this same repository.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+A sample Docker setup is also maintained publicly at</span><br><span style="color: hsl(120, 100%, 40%);">+https://git.osmocom.org/docker-playground/tree/osmo-gsm-tester.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+For the complete documentation, please refer to Osmo-GSM-Tester User manual,</span><br><span style="color: hsl(120, 100%, 40%);">+available in sources under _doc/manuals/_ under this same repository, and</span><br><span style="color: hsl(120, 100%, 40%);">+prebuilt in pdf form at</span><br><span style="color: hsl(120, 100%, 40%);">+http://ftp.osmocom.org/docs/latest/osmo-gsm-tester-manual.pdf</span><br><span>diff --git a/doc/README.txt b/doc/README.txt</span><br><span>deleted file mode 100644</span><br><span>index 3b4d202..0000000</span><br><span>--- a/doc/README.txt</span><br><span>+++ /dev/null</span><br><span>@@ -1,116 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-DOCUMENTATION</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-For the complete documentation, please refer to the osmo-gsm-manuals:</span><br><span style="color: hsl(0, 100%, 40%);">-http://git.osmocom.org/osmo-gsm-manuals/</span><br><span style="color: hsl(0, 100%, 40%);">-http://jenkins.osmocom.org/jenkins/job/Osmocom_Manuals/ws/</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-INSTALLATION</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-So far the osmo-gsm-tester directory is manually placed in /usr/local/src</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-DEPENDENCIES</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Packages required to run the osmo-gsm-tester:</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  apt-get install \</span><br><span style="color: hsl(0, 100%, 40%);">-  dbus \</span><br><span style="color: hsl(0, 100%, 40%);">-  tcpdump \</span><br><span style="color: hsl(0, 100%, 40%);">-  sqlite3 \</span><br><span style="color: hsl(0, 100%, 40%);">-  python3 \</span><br><span style="color: hsl(0, 100%, 40%);">-  python3-yaml \</span><br><span style="color: hsl(0, 100%, 40%);">-  python3-mako \</span><br><span style="color: hsl(0, 100%, 40%);">-  python3-gi \</span><br><span style="color: hsl(0, 100%, 40%);">-  ofono \</span><br><span style="color: hsl(0, 100%, 40%);">-  python3-pip \</span><br><span style="color: hsl(0, 100%, 40%);">-  python3-usb</span><br><span style="color: hsl(0, 100%, 40%);">-  pip3 install git+git://github.com/podshumok/python-smpplib.git</span><br><span style="color: hsl(0, 100%, 40%);">-  pip3 install pydbus</span><br><span style="color: hsl(0, 100%, 40%);">-  pip3 install pysispm</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-To build ofono:</span><br><span style="color: hsl(0, 100%, 40%);">-  apt-get install libglib2.0-dev \</span><br><span style="color: hsl(0, 100%, 40%);">-             libdbus-1-dev \</span><br><span style="color: hsl(0, 100%, 40%);">-                 libudev-dev \</span><br><span style="color: hsl(0, 100%, 40%);">-           mobile-broadband-provider-info</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-INSTALLATION</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Place a copy of the osmo-gsm-tester repository in /usr/local/src/</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  cp install/osmo-gsm-tester-limits.conf /etc/security/limits.d/</span><br><span style="color: hsl(0, 100%, 40%);">-  cp install/*.service /lib/systemd/system/</span><br><span style="color: hsl(0, 100%, 40%);">-  cp install/org.ofono.conf /etc/dbus-1/system.d/</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl daemon-reload</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-To run:</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl enable ofono</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl start ofono</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl status ofono</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl enable osmo-gsm-tester</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl start osmo-gsm-tester</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl status osmo-gsm-tester</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-To stop:</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  systemctl stop osmo-gsm-tester</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-After ofonod has been started and modems have been connected to the system,</span><br><span style="color: hsl(0, 100%, 40%);">-you can run the 'list-modems' script located in /usr/local/src/ofono/test to get</span><br><span style="color: hsl(0, 100%, 40%);">-a list of the modems that have been detected by ofono.</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-CONFIGURATION</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Host System configuration</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Create the /var/tmp/osmo-gsm-tester directory. It will be used to accept new test jobs.</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Test resources (NITB, BTS and modems) are currently configured in the test_manager.py.</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-For every nitb resource that can be allocated, one alias IP address needs</span><br><span style="color: hsl(0, 100%, 40%);">-to be set up in /etc/network/interfaces on the interface that is connected to the BTSes.</span><br><span style="color: hsl(0, 100%, 40%);">-By add the following lines for each nitb instance that can be allocated (while making</span><br><span style="color: hsl(0, 100%, 40%);">-sure each interface alias and IP is unique)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  auto eth1:0</span><br><span style="color: hsl(0, 100%, 40%);">-  allow-hotplug eth1:0</span><br><span style="color: hsl(0, 100%, 40%);">-  iface eth1:0 inet static</span><br><span style="color: hsl(0, 100%, 40%);">- address 10.42.42.2</span><br><span style="color: hsl(0, 100%, 40%);">-      netmask 255.255.255.0</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Also make sure, the user executing the tester is allowed to run tcpdump.  If</span><br><span style="color: hsl(0, 100%, 40%);">-the user is not root, we have used the folloing line to get proper permissions:</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  groupadd pcap</span><br><span style="color: hsl(0, 100%, 40%);">-  addgroup <your-user-name> pcap</span><br><span style="color: hsl(0, 100%, 40%);">-  setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump</span><br><span style="color: hsl(0, 100%, 40%);">-  chgroup pcap /usr/sbin/tcpdump</span><br><span style="color: hsl(0, 100%, 40%);">-  chmod 0750 /usr/sbin/tcpdump</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-The tester main unit must be able to ssh without password to the sysmobts (and</span><br><span style="color: hsl(0, 100%, 40%);">-possibly other) hardware: place the main unit's public SSH key on the sysmoBTS.</span><br><span style="color: hsl(0, 100%, 40%);">-Log in via SSH at least once to accept the BTS' host key.</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Jenkins Configuration</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-(TODO: jenkins build slave details)</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-When adding an entry to jenkins' known_hosts file, be aware that you need to</span><br><span style="color: hsl(0, 100%, 40%);">-add an actual RSA host key. Using 'ssh' to access the main unit may work, but</span><br><span style="color: hsl(0, 100%, 40%);">-jenkins will still fail to access it in the absence of a full RSA host key:</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  ssh-keyscan -H $my_main_unit_ip_addr >> ~jenkins/.ssh/known_hosts</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-LAUNCHING A TEST RUN</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-osmo-gsm-tester watches /var/tmp/osmo-gsm-tester for instructions to launch</span><br><span style="color: hsl(0, 100%, 40%);">-test runs.  A test run is triggered by a subdirectory containing binaries and a</span><br><span style="color: hsl(0, 100%, 40%);">-checksums file, typically created by jenkins using the scripts in contrib/.</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060">change 18060</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I9febe56223eaeadc9d31291dd0110a11470e3ab1 </div>
<div style="display:none"> Gerrit-Change-Number: 18060 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>