Commit Graph

14 Commits

Author SHA1 Message Date
Pau Espin 78ae9377a7 common: Automatize UPSTREAM_DISTRO name based on image name
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
2020-12-01 11:46:20 +00:00
Harald Welte 027826fdba introduce 'REGISTRY' argument to all Dockerfiles
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
2020-11-02 17:02:26 +01:00
Oliver Smith 9d7b8fd5f9 debian-repo-install-test: move scripts to osmo-ci
Related: OS#4563
Depends: I777098f19d75f7efbd68b837ccdcd83309429c39 (osmo-ci)
Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5
2020-05-27 11:41:47 +02:00
Harald Welte 1bccbb8a66 update OBS Release.key; the old one expired today.
Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e
2020-03-30 18:06:58 +02:00
Oliver Smith b6ab37d964 repo-install-test: disable osmo-ggsn service
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
2019-10-30 13:00:29 +00:00
Oliver Smith ef8b48516e debian-repo-install-test: systemctl status -n 200
Show up to 200 log lines instead of the default (10).

Related: OS#3369
Change-Id: Ic72dbf1b4c59a259139187b98e74211d57534dc2
2019-07-26 08:43:52 +02:00
Oliver Smith ee01cc5548 debian-repo-install-test: add fixed services
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
2019-07-25 06:35:31 +00:00
Oliver Smith 4345224fa0 debian-repo-install-test: run systemd services
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
2019-07-23 14:10:53 +02:00
Oliver Smith 29825bbc71 debian-repo-install-test: kill already running
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
2019-07-23 14:10:53 +02:00
Oliver Smith 380d49dbd0 debian-repo-install-test: add docker container
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
2019-07-23 12:09:53 +00:00
Oliver Smith 0b3587fae8 debian-repo-test: blacklist soapysdr0.7
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
2019-02-20 18:13:15 +00:00
Oliver Smith f13abfc385 repo-install-test: version test for all programs
We did not test all programs before, because they did not have
--version implemented. Now they do.

Related: OS#3555
Change-Id: I796f1e34d2c026b11dff89511b667fa457856088
2018-10-23 13:42:27 +02:00
Oliver Smith 643de5ed2e debian-repo-install-test: UNKNOWN in --version?
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
2018-09-21 10:14:48 +02:00
Oliver Smith 8b5ad120bb debian-repo-install-test: new binary package test
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
2018-09-19 16:08:51 +02:00