<p>osmith <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ci/+/18509">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  osmith: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">repo-install-test: move from docker-playground<br><br>Prepare the repo-install-test to be extended to cover centos8 as well.<br>Move the scripts to osmo-ci.git first, so we can mount them as shared<br>files into the docker containers from here.<br><br>Move files without any changes. Integration will be done in a follow-up<br>commit, so we have a clean git log.<br><br>debian-repo-install-test/jenkins.sh<br> => scripts/repo-install-test.sh<br>debian-repo-install-test/testdata/blacklist.txt<br>   => scripts/repo-install-test/blacklist.txt<br>debian-repo-install-test/testdata/repo-install-test.sh<br> => scripts/repo-install-test/run-inside-docker.sh<br><br>Related: OS#4563<br>Related: If93f37e8d46597a9abc67a4529be9addd65780f5 (docker-playground)<br>Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c<br>---<br>A scripts/repo-install-test.sh<br>A scripts/repo-install-test/blacklist.txt<br>A scripts/repo-install-test/run-inside-docker.sh<br>3 files changed, 231 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..c0c38c5</span><br><span>--- /dev/null</span><br><span>+++ b/scripts/repo-install-test.sh</span><br><span>@@ -0,0 +1,58 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+. ../jenkins-common.sh</span><br><span style="color: hsl(120, 100%, 40%);">+docker_images_require "debian-repo-install-test"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+[ -z "$FEED" ] && FEED="nightly"</span><br><span style="color: hsl(120, 100%, 40%);">+CONTAINER="repo-install-test-$FEED"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Try to run "systemctl status" 10 times, kill the container on failure</span><br><span style="color: hsl(120, 100%, 40%);">+check_if_systemd_is_running() {</span><br><span style="color: hsl(120, 100%, 40%);">+    for i in $(seq 1 10); do</span><br><span style="color: hsl(120, 100%, 40%);">+              sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+               if docker exec "$CONTAINER" systemctl status; then</span><br><span style="color: hsl(120, 100%, 40%);">+                  return</span><br><span style="color: hsl(120, 100%, 40%);">+                fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "ERROR: systemd is not running properly."</span><br><span style="color: hsl(120, 100%, 40%);">+      docker container kill "$CONTAINER"</span><br><span style="color: hsl(120, 100%, 40%);">+  exit 1</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%);">+# Kill already running container</span><br><span style="color: hsl(120, 100%, 40%);">+if [ "$(docker inspect -f '{{.State.Running}}' "$CONTAINER" 2> /dev/null)" = "true" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+   docker container kill "$CONTAINER"</span><br><span style="color: hsl(120, 100%, 40%);">+  sleep 1</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Run the container</span><br><span style="color: hsl(120, 100%, 40%);">+# * This does not output anything, for debugging add -it and remove &.</span><br><span style="color: hsl(120, 100%, 40%);">+# * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd</span><br><span style="color: hsl(120, 100%, 40%);">+# * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files)</span><br><span style="color: hsl(120, 100%, 40%);">+docker run   --rm \</span><br><span style="color: hsl(120, 100%, 40%);">+                -v "$PWD/testdata:/testdata:ro" \</span><br><span style="color: hsl(120, 100%, 40%);">+           -v "$VOL_BASE_DIR:/data" \</span><br><span style="color: hsl(120, 100%, 40%);">+          --name "$CONTAINER" \</span><br><span style="color: hsl(120, 100%, 40%);">+               -e FEED="$FEED" \</span><br><span style="color: hsl(120, 100%, 40%);">+           -e container=docker \</span><br><span style="color: hsl(120, 100%, 40%);">+         --tmpfs /run \</span><br><span style="color: hsl(120, 100%, 40%);">+                --tmpfs /tmp \</span><br><span style="color: hsl(120, 100%, 40%);">+                -v /sys/fs/cgroup:/sys/fs/cgroup:ro \</span><br><span style="color: hsl(120, 100%, 40%);">+         --cap-add SYS_ADMIN \</span><br><span style="color: hsl(120, 100%, 40%);">+         --cap-add SYS_NICE \</span><br><span style="color: hsl(120, 100%, 40%);">+          "$REPO_USER/debian-repo-install-test" \</span><br><span style="color: hsl(120, 100%, 40%);">+             /lib/systemd/systemd &</span><br><span style="color: hsl(120, 100%, 40%);">+check_if_systemd_is_running</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Run the test script</span><br><span style="color: hsl(120, 100%, 40%);">+docker exec "$CONTAINER" /testdata/repo-install-test.sh</span><br><span style="color: hsl(120, 100%, 40%);">+ret="$?"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Interactive shell</span><br><span style="color: hsl(120, 100%, 40%);">+if [ -n "$INTERACTIVE" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+      docker exec -it "$CONTAINER" bash</span><br><span style="color: hsl(120, 100%, 40%);">+fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+docker container kill "$CONTAINER"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+exit $ret</span><br><span>diff --git a/scripts/repo-install-test/blacklist.txt b/scripts/repo-install-test/blacklist.txt</span><br><span>new file mode 100644</span><br><span>index 0000000..cb7db6a</span><br><span>--- /dev/null</span><br><span>+++ b/scripts/repo-install-test/blacklist.txt</span><br><span>@@ -0,0 +1,27 @@</span><br><span style="color: hsl(120, 100%, 40%);">+# These packages will not get explicitly installed in this test.</span><br><span style="color: hsl(120, 100%, 40%);">+# Package lines must have nothing but the package (no comment,</span><br><span style="color: hsl(120, 100%, 40%);">+# no additional space etc).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# OpenBSC</span><br><span style="color: hsl(120, 100%, 40%);">+# This is legacy, we aren't really interested in testing openbsc.git</span><br><span style="color: hsl(120, 100%, 40%);">+# derived packages. Packages are found in openbsc/debian/control.</span><br><span style="color: hsl(120, 100%, 40%);">+openbsc-dev</span><br><span style="color: hsl(120, 100%, 40%);">+osmo-bsc-mgcp</span><br><span style="color: hsl(120, 100%, 40%);">+osmo-bsc-mgcp-dbg</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-bs11-utils</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-bs11-utils-dbg</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-bsc-nat</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-bsc-nat-dbg</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-bsc-sccplite</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-bsc-sccplite-dbg</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-ipaccess-utils</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-ipaccess-utils-dbg</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-nitb</span><br><span style="color: hsl(120, 100%, 40%);">+osmocom-nitb-dbg</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# SoapySDR is not used anymore (see OS#3542)</span><br><span style="color: hsl(120, 100%, 40%);">+soapysdr-module-lms7</span><br><span style="color: hsl(120, 100%, 40%);">+soapysdr0.6-module-lms7</span><br><span style="color: hsl(120, 100%, 40%);">+soapysdr0.6-module-lms7-dbgsym</span><br><span style="color: hsl(120, 100%, 40%);">+soapysdr0.7-module-lms7</span><br><span style="color: hsl(120, 100%, 40%);">+soapysdr0.7-module-lms7-dbgsym</span><br><span>diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh</span><br><span>new file mode 100755</span><br><span>index 0000000..63e1819</span><br><span>--- /dev/null</span><br><span>+++ b/scripts/repo-install-test/run-inside-docker.sh</span><br><span>@@ -0,0 +1,146 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh -ex</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Systemd services that must start up successfully after installing all packages (OS#3369)</span><br><span style="color: hsl(120, 100%, 40%);">+# Disabled services:</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108)</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108)</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-ggsn (no tun device in docker)</span><br><span style="color: hsl(120, 100%, 40%);">+SERVICES="</span><br><span style="color: hsl(120, 100%, 40%);">+       osmo-bsc</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-gbproxy</span><br><span style="color: hsl(120, 100%, 40%);">+  osmo-gtphub</span><br><span style="color: hsl(120, 100%, 40%);">+   osmo-hlr</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-mgw</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-msc</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-pcap-client</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-sip-connector</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo-stp</span><br><span style="color: hsl(120, 100%, 40%);">+"</span><br><span style="color: hsl(120, 100%, 40%);">+# Services working in nightly, but not yet in latest</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-pcap-server: service not included in osmo-pcap 0.0.11</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-pcu: needs osmo-bts-virtual to start up properly</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0</span><br><span style="color: hsl(120, 100%, 40%);">+# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0</span><br><span style="color: hsl(120, 100%, 40%);">+SERVICES_NIGHTLY="</span><br><span style="color: hsl(120, 100%, 40%);">+  osmo-pcap-server</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-sgsn</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo-pcu</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo-hnbgw</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo-bts-virtual</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%);">+HTTP="http://download.opensuse.org/repositories/network:/osmocom:/$FEED/Debian_9.0/"</span><br><span style="color: hsl(120, 100%, 40%);">+OBS="obs://build.opensuse.org/network:osmocom:$FEED/Debian_9.0"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+check_env() {</span><br><span style="color: hsl(120, 100%, 40%);">+        if [ -n "$FEED" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+             echo "Checking feed: $FEED"</span><br><span style="color: hsl(120, 100%, 40%);">+ else</span><br><span style="color: hsl(120, 100%, 40%);">+          echo "ERROR: missing environment variable \$FEED!"</span><br><span style="color: hsl(120, 100%, 40%);">+          exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</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%);">+configure_osmocom_repo() {</span><br><span style="color: hsl(120, 100%, 40%);">+   echo "Configuring Osmocom repository"</span><br><span style="color: hsl(120, 100%, 40%);">+       echo "deb $HTTP ./" \</span><br><span style="color: hsl(120, 100%, 40%);">+               > /etc/apt/sources.list.d/osmocom-latest.list</span><br><span style="color: hsl(120, 100%, 40%);">+      apt-get update</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%);">+install_repo_packages() {</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "Installing all repository packages"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Get a list of all packages from the repository. Reference:</span><br><span style="color: hsl(120, 100%, 40%);">+  # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html</span><br><span style="color: hsl(120, 100%, 40%);">+      aptitude search -F%p \</span><br><span style="color: hsl(120, 100%, 40%);">+                "?origin($OBS) ?architecture(native)" | sort \</span><br><span style="color: hsl(120, 100%, 40%);">+              > /data/osmocom_packages_all.txt</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Remove comments from blacklist.txt (and sort it)</span><br><span style="color: hsl(120, 100%, 40%);">+    grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   # Install all repo packages which are not on the blacklist</span><br><span style="color: hsl(120, 100%, 40%);">+    comm -23 /data/osmocom_packages_all.txt \</span><br><span style="color: hsl(120, 100%, 40%);">+             /data/blacklist.txt > /data/osmocom_packages.txt</span><br><span style="color: hsl(120, 100%, 40%);">+   apt install -y $(cat /data/osmocom_packages.txt)</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%);">+test_binaries_version() {</span><br><span style="color: hsl(120, 100%, 40%);">+      # Make sure --version runs and does not output UNKNOWN</span><br><span style="color: hsl(120, 100%, 40%);">+        failed=""</span><br><span style="color: hsl(120, 100%, 40%);">+   for program in $@; do</span><br><span style="color: hsl(120, 100%, 40%);">+         # Make sure it runs at all</span><br><span style="color: hsl(120, 100%, 40%);">+            $program --version</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+          # Check for UNKNOWN</span><br><span style="color: hsl(120, 100%, 40%);">+           if $program --version | grep -q UNKNOWN; then</span><br><span style="color: hsl(120, 100%, 40%);">+                 failed="$failed $program"</span><br><span style="color: hsl(120, 100%, 40%);">+                   echo "ERROR: this program prints UNKNOWN in --version!"</span><br><span style="color: hsl(120, 100%, 40%);">+             fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        if [ -n "$failed" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+           echo "ERROR: the following program(s) print UNKNOWN in --version:"</span><br><span style="color: hsl(120, 100%, 40%);">+          echo "$failed"</span><br><span style="color: hsl(120, 100%, 40%);">+              return 1</span><br><span style="color: hsl(120, 100%, 40%);">+      fi</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%);">+test_binaries() {</span><br><span style="color: hsl(120, 100%, 40%);">+    # Make sure that binares run at all and output a proper version</span><br><span style="color: hsl(120, 100%, 40%);">+       test_binaries_version \</span><br><span style="color: hsl(120, 100%, 40%);">+               osmo-bsc \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-bts-trx \</span><br><span style="color: hsl(120, 100%, 40%);">+                osmo-bts-virtual \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-gbproxy \</span><br><span style="color: hsl(120, 100%, 40%);">+                osmo-gtphub \</span><br><span style="color: hsl(120, 100%, 40%);">+         osmo-ggsn \</span><br><span style="color: hsl(120, 100%, 40%);">+           osmo-hlr \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-hlr-db-tool \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-hnbgw \</span><br><span style="color: hsl(120, 100%, 40%);">+          osmo-mgw \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-msc \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-pcu \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-sgsn \</span><br><span style="color: hsl(120, 100%, 40%);">+           osmo-sip-connector \</span><br><span style="color: hsl(120, 100%, 40%);">+          osmo-stp \</span><br><span style="color: hsl(120, 100%, 40%);">+            osmo-trx-uhd \</span><br><span style="color: hsl(120, 100%, 40%);">+                osmo-trx-usrp1</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%);">+services_check() {</span><br><span style="color: hsl(120, 100%, 40%);">+       local service</span><br><span style="color: hsl(120, 100%, 40%);">+ local services_feed="$SERVICES"</span><br><span style="color: hsl(120, 100%, 40%);">+     local failed=""</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   if [ "$FEED" = "nightly" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+          services_feed="$services_feed $SERVICES_NIGHTLY"</span><br><span style="color: hsl(120, 100%, 40%);">+    fi</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  systemctl start $services_feed</span><br><span style="color: hsl(120, 100%, 40%);">+        sleep 2</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     for service in $services_feed; do</span><br><span style="color: hsl(120, 100%, 40%);">+             if ! systemctl --no-pager -l -n 200 status $service; then</span><br><span style="color: hsl(120, 100%, 40%);">+                     failed="$failed $service"</span><br><span style="color: hsl(120, 100%, 40%);">+           fi</span><br><span style="color: hsl(120, 100%, 40%);">+    done</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        systemctl stop $services_feed</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       if [ -n "$failed" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+           set +x</span><br><span style="color: hsl(120, 100%, 40%);">+                echo</span><br><span style="color: hsl(120, 100%, 40%);">+          echo "ERROR: services failed to start: $failed"</span><br><span style="color: hsl(120, 100%, 40%);">+             echo</span><br><span style="color: hsl(120, 100%, 40%);">+          exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</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%);">+check_env</span><br><span style="color: hsl(120, 100%, 40%);">+configure_osmocom_repo</span><br><span style="color: hsl(120, 100%, 40%);">+install_repo_packages</span><br><span style="color: hsl(120, 100%, 40%);">+test_binaries</span><br><span style="color: hsl(120, 100%, 40%);">+services_check</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ci/+/18509">change 18509</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-ci/+/18509"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ci </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c </div>
<div style="display:none"> Gerrit-Change-Number: 18509 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>