Commit Graph

1400 Commits

Author SHA1 Message Date
Oliver Smith ec9efbf649 repo-install-test: centos8: fix almalinux keys
Run "dnf upgrade almalinux-release" inside centos8/almalinux8 to upgrade
the gpg keys first, in order to prevent gpg key errors while installing
packages. We are not running repo-install-test for centos8 in CI anymore
(SYS#6759), but I'm currently using this configuration to manually test
that fixing permissions during upgrade and running systemd services as
users works as expected on an rpm-based system.

Related: OS#4107
Related: https://almalinux.org/blog/2023-12-20-almalinux-8-key-update/
Change-Id: Ia06d24ce7ce48651f5a41489e78b5b55dc2d3921
2024-04-24 11:57:08 +02:00
Vadim Yanitskiy 0c3634e7f9 jobs/ttcn3: add ttcn3-sgsn-test-sns[-latest]
Change-Id: Iefd81a081fa29af35fc7d575ea23e464c165dbc7
Depends: docker-playground.git I767ec223585002d6420eda27ed338722f764c902
2024-04-24 08:45:30 +00:00
Oliver Smith 0cc68159f6 jobs/ttcn3: io_uring: set memlock to unlimited
io_uring in the kernel memlocks a big amount of space with older
kernels, such as the kernel on host2-deb11build-ansible. It seemed to be
enough to increase it to 1 GiB. However now we see it failing again
with:

  failure during io_uring_queue_init(): Cannot allocate memory
  Aborted (core dumped)

Set it to unlimited to ensure that a low limit is not the reason we see
it failing. If it still happens after this, we probably need to make
sure that we don't run too many SUTs with io_uring in parallel on
jenkins nodes with older kernels.

Related: OS#6405
Change-Id: I39aaa2ed7d0310a12d0c4493a79ff46b2e7e2864
2024-04-23 13:36:31 +02:00
Oliver Smith 2e95fe4f68 jobs/ttcn3: run io_uring testsuites on all nodes
After most recent patches from Pau were merged, the io_uring testsuites
run on all jenkins nodes with the ttcn3 label again!

host2-deb11build-ansible has an older host kernel and needs ulimit
memlock increased to 1 GB. I've tried out e.g. 500 MB and it isn't
enough.

Closes: OS#6405
Change-Id: I59b9a7c3928281a0557c17629029adcbc5ae7410
2024-04-19 11:59:15 +02:00
Oliver Smith 2194146d94 jobs/osmocom-obs-sync: remove Ubuntu 20.04
We build binary packages for the last 2 LTS versions of Ubuntu, so
remove 20.04.

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Linux_Distributions
Change-Id: Ia93b272447032eb5224d8e14a75801dda8a596a8
2024-04-15 10:19:16 +02:00
Oliver Smith 6a83362344 jobs/osmocom-obs-sync: add Ubuntu 24.04
Change-Id: I79a6fe1fb65a7245ab38674764953468fab91d6b
2024-04-12 10:54:49 +02:00
Oliver Smith a307c7df71 jobs/gerrit,master: osmo-hnbgw: add nftables var
Build with and without nftables.

Related: OS#6425
Change-Id: I9828b70708dbe466c37df6ffb87b04362f14c71c
2024-04-04 11:59:04 +02:00
Oliver Smith afd9d56e05 checkpatch: recognize json_array_foreach etc.
Treat json_array_foreach, json_object_foreach, json_object_foreach_safe
etc. the same as if, while, for, switch, and require exactly one space
after using it:

	json_array_foreach (nftables, i, item) {
		…
	}

Related: osmo-hnbgw Id4e7fa017c31945388a010d8581715d71482116b
Change-Id: I0b58c6d70a961c7d0ba93a2f0d6a5a4afa321fa9
2024-04-03 15:32:46 +00:00
Oliver Smith 29a41d387e ttcn3-ggsn-test-kernel-latest-net-next: update net-next branch
The branch of net-next is now called main. By using the old name, the
jenkins job was checking out a 6.3 kernel, we are now at 6.9 rcs.

Related: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/
Change-Id: Ieee448c514bc0ff457b9d17c8b12ee00953995d2
2024-04-03 12:20:41 +00:00
Oliver Smith ebf4df3242 jobs/ttcn3: …-pablo-gtp: don't wipe workspace
The ttcn3-ggsn-test-kernel-* jobs should not wipe their workspace, so we
can avoid shallow-cloning the kernel if the commit did not change.

The way the scripts in docker-playground.git are written, this also
caused a permission error.

Change-Id: I4ac1b2c3f5ba63c131dd1d6a4888f32a27264eba
2024-04-03 12:20:41 +00:00
Pau Espin a59c9257b4 jobs: ttcn3-testsuites.yml: Add job ttcn3-asterisk-ims-ue-test
Related: SYS#6782
Change-Id: I06de12224399bbddc27649b7d52a6194faec07c4
2024-04-02 13:32:47 +02:00
Oliver Smith b5a1b009b7 jobs/ttcn3: add ttcn3-ggsn-test-kernel-pablo-gtp
Add a temporary job to run against the IPv6 patches, until they are
upstreamed.

Related: OS#1952
Change-Id: Idf0e3fd5ba81565ce1626dfdf186c88280232550
2024-03-25 12:40:46 +01:00
Vadim Yanitskiy 31fd5cf020 gerrit-verifications: execute 'distcheck' job for pysim
Change-Id: I9d4d9e9de2b16a4b745791f3c9c93507f43bfa6d
Related: pysim.git Ic72d58494e8fd0cab8d66ce60f7b70593b770872
2024-03-22 19:23:02 +00:00
Oliver Smith 36cd8c53a6 jobs/master-builds: libosmocore: io_uring nodes
Like the gerrit-verification jobs for libosmocore, run the master-builds
jobs on nodes with the io_uring label.

Related: OS#6405
Change-Id: Iea6791b3fbb5c445a539c2b4636a643d6c8d517b
2024-03-22 07:26:19 +00:00
Oliver Smith c1fe54aaf8 jobs: add osmocom-obs-ewild
Similar to osmocom-obs-nhofmeyr, add a jenkins job that automatically
picks up changes in Hoernchen/mssdr branches in the Osmocom projects,
and builds binary packages in home:ewild:mssdr.

Related: OS#6409
Change-Id: I9a8aaf00e3fae84a61ff3cab64750926f8a9e2e1
2024-03-21 10:33:42 +01:00
Harald Welte 3cf8a0e792 jenkins: Add io_uring job for osmo-mgw
A change introducing osmo_io for RTP/RTCP of omo-mgw
is currently in review at  https://gerrit.osmocom.org/c/osmo-mgw/+/36363

Let's make sure we have a related io_uring test job.

Change-Id: I672c72c855bebc1f895be51f3fa3cf0e368005ff
Related: OS#6387, SYS#5094
2024-03-20 11:52:41 +01:00
Oliver Smith cd0de59831 jobs/gerrit: libosmocore: run on io_uring nodes
We have at least one node where the io_uring backend does not work.
Allow running the osmo_io tests with the io_uring backend in CI by
limiting the jenkins nodes used to the ones where we know that io_uring
works.

Related: libosmocore I82db9a15bc483a5447d86352512afaafa2bcfbb6
Related: OS#6405
Change-Id: I9289e2f84edbff95d81bb4a92863865b9563fc6a
2024-03-20 10:51:04 +01:00
Oliver Smith 642635a3af jobs/ttcn3: rename io_uring node label
Rename it from ttcn3-io_uring to io_uring, as it will be used for
non-ttcn3 jobs too in the next patch.

Related: OS#6405
Change-Id: Icd23a4497771c939f6b988ea244c9dcabfd30e3f
2024-03-20 10:49:21 +01:00
Oliver Smith f0cff7161b OBS: add gapk, osmocom-bb
Related: OS#6409
Depends: osmocom-bb I3713201233e13fca5ea4e0b8c4df913c787965f5
Depends: gapk I8e9d42fc332c5d426b9074c6bc58bc6efe037fea
Change-Id: Ifd84479f97fe17de35a5f409c8fabadd3bf5c272
2024-03-19 13:00:31 +01:00
Oliver Smith 65005ed338 jobs/gerrit: build for debian 12: gapk, osmocom-bb
Related: OS#6409
Change-Id: Ib48d90af734e627aa4760af6423481970626d501
2024-03-18 14:38:07 +01:00
Oliver Smith 467a96c281 jobs/ttcn3: run io_uring tests on specific nodes
io_uring_queue_init fails on some of the jenkins nodes running the TTCN3
testsuites with io_uring. It seems that the kernel is too old on these
nodes. Run the testsuites only on jenkins nodes with the new
ttcn3-io_uring label, which have a recent kernel.

Related: OS#6357
Change-Id: If917806f9056fdf99863f4132f44659b2bfd44c3
2024-03-14 14:03:51 +01:00
Oliver Smith 4d06b21410 ttcn3: add ttcn3-stp-test-io_uring
Related: OS#6357
Change-Id: I996dee2f9ce27fcdd8771fa22379aa606192824d
2024-03-14 13:22:07 +01:00
Oliver Smith bae98f4f35 jobs/ttcn3: add testsuites with io_uring
Set LIBOSMO_IO_BACKEND=IO_URING via the DOCKER_ARGS variable, which all
SUTs already use in docker-playground.git (see ttcn3-*/jenkins.sh).

The list of testsuites to test for is takend from:
https://osmocom.org/issues/6357#note-9

Closes: OS#6357
Change-Id: I8eb3f4fdfe54268d3b623d88c8746f5395ba509d
2024-03-13 11:24:50 +01:00
Oliver Smith a0b7b49813 lint: ignore LICENSE* and COPYING*
Fixes: OS#6397
Change-Id: I859e9d7fdff5eeb86c24947031522a8123830f0c
2024-03-11 09:44:17 +01:00
Pau Espin 61723f812c jobs/ttcn: Run ttcn3-epdg-test only under debian12
Test EPDG_Tests.TC_mt_ipv4_echo_req fails when running under debian11
(node build2-deb11build-ansible), most probably due to some kernel bug
fixed later on.
Since anyway osmo-epdg requires OTP from debian12, it makes no sense to
attempt to support older kernel version from debian11, so simply avoid
picking debian11 to run the tests.

Change-Id: I247853cbefa0864f54bad5e5b6597556c46a51e3
2024-03-07 16:04:46 +01:00
Oliver Smith e2f71fdcf3 jobs/gerrit: don't build osmo-epdg for debian:11
After switching to a newer gtplib, a newer OTP is required that isn't in
debian 11. Disable it, as Pau suggested.

Related: https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36052/3#message-d76c9c565d6feea88ef2e596fc5554ddd2e52cc1
Change-Id: I6a9147aef85612f3fb00920edea8c6706954b007
2024-02-23 10:10:11 +01:00
Oliver Smith 5d1216f76a jobs/registry-update-base…: remove almalinux8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: If921a5844ce602a7bda84b9e4d1507796c10948f
2024-02-14 16:53:50 +01:00
Oliver Smith cfaf536f5e jobs/ttcn3-testsuites: remove centos8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: I4142c5ababb85b74a890a0cbfc302bd15d44268e
2024-02-14 16:53:47 +01:00
Oliver Smith da99606236 jobs/repo-install-test: remove centos8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: I311ccfe61b86e467996022107294ad560eee8bdf
2024-02-14 16:53:44 +01:00
Oliver Smith b997fa98b2 jobs/gerrit-verifications: remove almalinux8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: Ia180ac87251c39d9715276cf23a2663fb917f50a
2024-02-14 16:27:44 +01:00
Oliver Smith de102c44c3 jobs/osmocom-obs-sync: remove Ubuntu 23.04, Debian Testing
Related: OS#6163
Change-Id: Ief01182755688b2a16fc3ef272601e93d4a25ba1
2024-02-12 11:48:20 +01:00
Oliver Smith 92b50a5a6b jobs/update-osmo-ci: remove build3
Related: OS#6186
Change-Id: I63bbac0a767c30f8d3e4552024172bd689122d61
2024-01-24 10:31:05 +01:00
Oliver Smith 235508927f jobs/ttcn3: remove 2023q1 testsuites
Related: SYS#6759
Change-Id: I97fd1b98b1515c320a297aac429007cc500e7e29
2024-01-24 09:58:52 +01:00
Oliver Smith 33ddf03dfe OBS: srcpkg Dockerfile: add lsb-release, quilt
Wireshark with Osmocom patches on top of wireshark.git master failed to
build. I've reworked the packaging to use the "debian" dir from upstream
instead of having our own (now outdated) copy:
https://gitea.osmocom.org/osmocom/wireshark/commits/branch/osmith/deb-packaging

Add the additional dependencies that are now required to build the
wireshark source package to the Dockerfile.

Related: OS#2537
Change-Id: I82f64de70b9d099ac404530ca74c771d66b306d8
2023-12-21 13:23:11 +01:00
Oliver Smith a9c93850c3 jobs/osmo-gsm-tester-virtual: kill old instances
Make sure osmo-gsm-tester gets killed eventually, even if a bug causes
it to run forever or if aborted manually.

* add a name to the docker container
* kill the docker container if it runs longer than 24h with
  docker-cleanup.sh
* rename fix_permissions_trap to clean_up_trap and kill it there, when
  it is still running before the job starts and after it is done
  (in my testing this did not kill it after pressing abort, but it would
  be killed either at the start of the next job running on the same
  jenkins node, or after 24h by docker-cleanup.sh)

Related: OS#6304
Change-Id: I6fc874d319d74aabdc33c10910cbcca2978d5bbb
2023-12-14 11:11:27 +01:00
Vadim Yanitskiy 0e2604dae0 coverity: build osmo-hnbgw with '--enable-pfcp'
This should improve the analysis depth for osmo-hnbgw.

Change-Id: I33b44a1c2ffde80b000b41b78569ff2f55bc98ed
2023-12-12 14:52:16 +00:00
Oliver Smith 4cf490967c coverity: add job to check for failed uploads
Related: SYS#6685
Change-Id: Ideabcb30f9f8f365acff2de7751eb74a2762a7a6
2023-12-08 14:53:40 +01:00
Oliver Smith 0bdf874252 coverity: readlink /opt/coverity/current
Show where the symlink points at the start of the job, so we can see
which coverity version is currently installed.

Related: SYS#6685
Change-Id: If4a7c71759a6eb436eb47024565f169c6134e2e2
2023-12-08 13:40:19 +00:00
Oliver Smith 1fc7514296 ansible: fix updating /opt/coverity/current
Remove the previous /opt/coverity/current symlink, before creating the
new one. Otherwise the new symlink would be created inside "current"
pointing at the old version, instead of replacing "current" with the
new symlink.

  # ln -svf /opt/coverity/2023.6.2/* /opt/coverity/current
  '/opt/coverity/current/cov-analysis-linux64-2023.6.2' -> '/opt/coverity/2023.6.2/cov-analysis-linux64-2023.6.2'
  # readlink /opt/covervity/current
  /opt/coverity/2022.06/cov-analysis-linux64-2022.6.0

Add the verbosity flag to the command while at it.

(The glob is unrelated, why it is needed is described in
 I2b96d1e47f2697706a042937b2852f0fc5032a7b)

Related: SYS#6685
Change-Id: I4ecb4997829b3cc61c839d089bda44f821ca8b85
2023-12-08 13:40:08 +00:00
Oliver Smith 39dd96b390 coverity: upgrade to 2023.6.2
Change-Id: I91f087fa3b39e1e0bc48739f92c4c23b3c0aa34f
2023-12-08 09:34:32 +01:00
Oliver Smith 6c75241d15 README: document how to upgrade coverity
Change-Id: I551df9f36112f34cf76d0247f1ebc1e58ae0a896
2023-12-08 09:34:32 +01:00
Oliver Smith e4cb0649ef README: update and convert to markdown
* Describe all directories
* Update the text slightly
* Convert to markdown, so it shows up formatted at:
  https://gitea.osmocom.org/osmocom/osmo-ci

Change-Id: I9735eb30cf7260d211d5ea4da83ad09d31c93593
2023-12-08 09:34:28 +01:00
Oliver Smith 11f9724c39 OBS: add jenkins job to check for new distros
Add a new jenkins job to notify us about new versions of Debian,
Raspbian and Ubuntu becoming available in the openSUSE OBS. This allows
us to consistently follow along and make the repositories available in
the Osmocom OBS. I've decided to check the openSUSE OBS instead of
checking somewhere upstream, because it takes time between a new
release of a distribution and the version becoming available in
openSUSE OBS, and we have another job that syncs the configuration with
that OBS instance.

Related: OS#6163
Change-Id: I0abc49a95197da55f7d83ed4fd1c4ebb6bd14b1e
2023-12-06 06:10:46 +00:00
Oliver Smith 6b136f74d1 OBS: lib.osc.get_projects: print apiurl
Print the apiurl, to make more obvious what is going on when running the
function twice in a row with two different apiurls (as done in the next
patch).

Change-Id: I789d12ce59ff14f526ab0334e78a6b22a063ec06
2023-12-06 06:10:46 +00:00
Oliver Smith 5db0807a64 jobs/gerrit: osmo-upf: don't for build debian 10
osmo-upf currently can't build against debian 10, as the required
libnftables-dev version there is too low and we don't provide a backport
for it. As discussed, disable it for debian 10.

Adjust CI to build against debian 11 instead (in addition to the usual
almalinux 8, debian 12).

Change-Id: I63798d451b66bf728b58b02414c1a44f6156b356
2023-12-05 16:03:28 +01:00
Oliver Smith 046a284e83 jobs/osmocom-obs-sync: add newest Ubuntu, Raspbian
Related: OS#6163
Change-Id: I459bd48b50d80fcd07837377e19e89df21d6c328
2023-12-05 13:58:09 +01:00
Oliver Smith c4ee740d57 jobs: fix undefined parameter log warnings
Adjust all jobs in the gerrit verifications pipeline to use the same
parameters from a new include file, to prevent undefined parameter
warnings in the log.

Fixes: OS#6261
Change-Id: Iadc5cd8996eb4ed86634ceb35829a3e9239e598d
2023-12-04 08:55:28 +01:00
Oliver Smith 2031b3d747 repo-install-test: update package filtering logic
Instead of filtering with several blacklist_* files that must contain
the exact names of packages to be filtered, add a shell function that
uses fnmatch for filtering. Combine all lists into one.

This fixes the error we get with each limesuite release, without the
need to increase the version in the txt files every time. Currently the
repo-install-tests are failing for all debian versions because of this.

Change-Id: I6745b10804685119d68b089f129ec9b0cde8cdf5
2023-11-27 07:09:33 +00:00
Daniel Willmann de1651b1bf scripts/obs: Add -M/--no-meta option to avoid depending on osmocom-*
This is useful for testing one-off dev packages

Change-Id: Id18c75de559c9ba29efd38d8510f2db3206c4209
2023-11-24 10:00:57 +01:00
Oliver Smith a13ce691d1 scripts/docker-cleanup: buildkit cache too
In newer docker versions, a buildkit cache was introduced. It gets used
while building images. Clean it up as well.

Related: https://osmocom.org/projects/osmocom-servers/wiki/Docker_cache_clean_up
Change-Id: Icf5237def75d4bcef6b0065f3f1f1da2ff362322
2023-11-21 13:01:03 +00:00