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