Similar to what is already done with DISTRO, which points to given image
of ours based on name. This time we do the same with upstream images,
such as debian:stretch or centos:centos8.
This way, for instance calling docker_images_require
"osmo-bsc-latest-centos8" would try to build the
osmo-bsc-latest/Dockerfile file starting from a centos8 image.
Change-Id: I33cb21aa024396974559fd98f9f3c64e2c351eda
This is initialized to docker.io, keeping the default behaviour
if not specified. However, it allows us to specify a private
registry later on.
Related: OS#4839
Change-Id: I32d4ee6256033c809108c1b86cb6b6c58d880f49
OsmoGGSN is not able to use the tun4 device from the default config in
docker. Since the more strict config checking in [1], it does not just
report a warning, but fails to start:
<0002> ggsn.c:189 APN(internet): Opening TUN device tun4
<0001> tun.c:184 errno=2/No such file or directory open() failed
<0002> ggsn.c:191 APN(internet): Failed to configure tun device
Error occurred during reading the below line:
no shutdown
Failed to open config file: '/etc/osmocom/osmo-ggsn.cfg'
Fix the repo install test jenkins job by not checking osmo-ggsn anymore.
In theory, we could probably create the tun device on the host, and
mount it inside the docker container. But that would require some
additional logic to clean it up properly, and it does not seem worth the
effort right now.
[1] libosmocore Ic9c1b566ec4a459f03e6319cf369691903cf9d00
Change-Id: I15c7a2f38a21cd96c9852ad26f4b4a81798e6593
Enable test of systemd services for osmo-sgsn, osmo-pcu, osmo-hnbgw and
osmo-bts-virtual. Add issue ID to failing osmo-ctrl2cgi and
osmo-trap2cgi services.
Depends: Id892e1f4ab2daabbe9824b819b5fed985373b97a (osmo-sgsn)
Depends: Ie8001611756b661ff1871508c6248b2e990ba1d7 (osmo-bsc)
Depends: I354140f014854f1755b649e40a65e5d88b99c0ec (osmo-iuh)
Related: OS#3369
Change-Id: I4e182b396e1a2e36a73384233b1a38a70c7cd5d9
Run systemd services of Osmocom programs, to check if any are not
starting properly. Use a whitelist to determine which services must
start up, because some are currently broken.
Modify the docker run command to support changing the CPU scheduling
policy/priority in systemd service files (used by osmo-bts).
Related: OS#3369
Change-Id: Ie6385f85560fefa7e7c9dca72cb5e2e914d4507a
The container grows heavily in size as the test runs, so make sure to
always kill existing ones (from stopped jobs) before starting a new
one. In order to do that, do not use $BUILD_TAG as container name,
which changes with every new jenkins run.
Related: OS#3369
Change-Id: Ide795092b656c9f0eb92a075d8f662944089019f
Add own container with systemd, so we can (in a follow-up commit) run
the Osmocom systemd services in this test job. Rewrite the
"interactive shell" logic to support the new systemd docker container,
and enable it with an INTERACTIVE environment variable instead of
hardcoding 'interactive="true"' in the script. While at it, move the
Repository.key install to the Dockerfile so it works more like the other
docker containers we have.
Related: OS#3369
Change-Id: I0348f65a2ac184ba6b001e5130dfc8124e657367
Fix conflict in debian-repo-test-latest by not explicitly installing
soapysdr0.7:
dpkg: error processing archive /tmp/apt-dpkg-install-aYn9qf/398-soapysdr0.7-module-lms7_19.01.0-1_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/SoapySDR/modules0.5-2/libLMS7Support.so', which is also in package soapysdr0.5-2-module-lms7:amd64 16.12.0+dfsg-1
I have tested locally, that debian-repo-test passes with this patch with
both FEED=latest and FEED=nightly.
Related: OS#3809
Change-Id: Ic7c6b95d20345b39af2ba0d09dddd361696723be
We did not test all programs before, because they did not have
--version implemented. Now they do.
Related: OS#3555
Change-Id: I796f1e34d2c026b11dff89511b667fa457856088
With this patch, the debian-repo-install-test script checks if
the Osmocom programs as installed from the Debian repository have
"UNKNOWN" in their --version output.
Relates: OS#3555
Change-Id: I46f18dc86d3e257c772a6db8539027aad26e24a8
Installs most packages from the Osmocom Debian repository into a plain
debian:stretch container and call the osmo-* binaries with --version
(or -h).
The list of packages is automatically generated with aptitude, so the
job does not need to be changed for every new package. There's also a
new blacklist.txt file with a list of packages, that will not be
installed in this test. Currently, this is filled with all packages
built from the legacy openbsc.git project (some of them are
conflicting with newer repositories) and the soapysdr packages (see
OS#3541).
The feed ("latest", "nightly") can be specified with the FEED
environment variable, it gets read by jenkins.sh (defaults to nightly).
Change-Id: I0f0a8b4f0ccd706cd1af98fe25accd6fd410e007
Relates: OS#3176