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

<div style="display:none"> Gerrit-Project: docker-playground </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5 </div>
<div style="display:none"> Gerrit-Change-Number: 18517 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>