Skip to content

Loading builds...

Changes

#2590 (Feb 4, 2026, 2:08:27 PM)

osmo-ns-master: drop python3-osmopy-utils / --enable-external-tests

--enable-external-tests requires python3-osmopy-utils, however this
package is no longer available for debian:10.  We're not running
tests, so it's not really needed.  Removing it fixes ttcn3-ns-test-fr.

Change-Id: I342099be87175dfe189a8906b53ee26328c0a417
Vadim Yanitskiy at

#2582 (Jan 31, 2026, 12:43:20 AM)

ttcn3-bts-test: fail on unexpected respawn count

Suggested-by: Pau Espin Pedrol <pespin@sysmocom.de>
Change-Id: Idd9f8dcf1a7186a0715c1026da44f404c1c574d9
Oliver Smith at

#2563 (Jan 22, 2026, 12:43:28 AM)

debian-trixie-obs-latest: fix signed-by= path

Fix for:
  Error: Failed to parse keyring "/usr/share/keyrings/osmocom-misc.asc"

Fixes: 59d469 ("debian-trixie-build: install the osmocom:misc repo")
Change-Id: Ib90abcdf96fc2b555f477899bac730c6f4a76fad
Oliver Smith at

#2562 (Jan 21, 2026, 12:43:20 AM)

debian-trixie-build: install the osmocom:misc repo

Install the osmocom:misc repository, so we can use the latest bpftrace
version in ttcn3-bts-test.

Related: OS#6927
Change-Id: I58e91932b089a92f4f4c31814cd1fd7d202b04c0
Oliver Smith at

#2556 (Jan 17, 2026, 12:43:20 AM)

debian-trixie-obs-asan: new container

Switching to debian 13 by default requires this new container for
ttcn3-bts-test-asan.

Fixes: 82bee6c4 ("jenkins-common: use debian 13 by default")
Change-Id: Icda707751fca8a314e92200bce0e473e43e426f3
Oliver Smith at

#2555 (Jan 16, 2026, 12:43:21 AM)

debian-trixie-obs-latest: new container

Switching to debian 13 by default requires this new container for all
the -latest jobs that are still docker-playground based.

Fixes: 82bee6c4 ("jenkins-common: use debian 13 by default")
Change-Id: Id78e445ff93dbe63751f4579a52f122d524e0003
Oliver Smith at
ttcn3-bts-test: add --no-warnings to bpftrace

Since switching to debian 13 and having bpftrace 0.23.2 instead of
0.17.0, bpftrace is constantly printing warnings. Turn off warnings by
default so we don't end up filling up the disk space of jenkins runners
while ttcn3-bts-test runs for >2h.

We can turn on warnings in copies of the main jenkins job for
development, while also ensuring that we only run a few tests instead of
the whole testsuite.

Warnings look like this:

  root@deb12build-ansible:/home/osmocom-build/jenkins/workspace/ttcn3-bts-test/logs/bts/bpftrace# head udp_sendmsg_delay.log
  [Thu Jan 15 01:31:13 UTC 2026] respawn: 0: starting: /data/bpftrace/udp_sendmsg_delay.sh
  + pidof osmo-bts-trx
  + bpftrace /data/bpftrace/udp_sendmsg_delay.bt -p 9
  Attaching 3 probes...
  Tracing udp_sendmsg() latency... Hit Ctrl-C to end.
  /data/bpftrace/udp_sendmsg_delay.bt:29:3-13: WARNING: Invalid argument
  Additional Info - helper: get_ns_current_pid_tgid, retcode: -22
    @start[tid] = nsecs;
    ~~~~~~~~~~
  /data/bpftrace/udp_sendmsg_delay.bt:30:3-13: WARNING: Invalid argument

Change-Id: I0e4c62f27f67d4b8601516ce5c1ebfa415331b4a
Oliver Smith at

#2554 (Jan 15, 2026, 12:43:18 AM)

jenkins-common: use debian 13 by default

The testsuites were still using debian 12, switch to the current stable
version (13).

This also gives us a much newer bpftrace version:
* Debian 12: 0.17.0-1
* Debian 13: 0.23.2-1

Change-Id: I231e1e93724faf6d659132be9b9d0e164502bf95
Oliver Smith at

#2539 (Jan 8, 2026, 12:43:16 AM)

bpftrace: Introduce ksys_write_delay.bt

This will record latency of write() calls during ttcn3-bts-test run,
where some write() call on stderr seems to be taking ~0.32 seconds,
stalling the timerfd (71 times) and making osmo-bts exit.

Related: OS#6794
Change-Id: Ia1d2036ac7c6c9e2818d07e8787d857b3b3e5881
Pau Espin Pedrol at

#2537 (Jan 6, 2026, 9:44:42 PM)

Upgrade redmine to 5.1.11 (security fixes)

As the official docker image still has 5.1.10 we're temporarily using a
custom build of the redmine base container.

Change-Id: Id06331c1f169cd02340730d5499bcb8a1ad3ea22
Closes: OS#6915
laforge at

#2515 (Dec 19, 2025, 12:44:22 PM)

ttcn3-bts-test/jenkins.sh: tweak local vars

Make it consistent.

Change-Id: I8c5597f20428f8f274ea15f62e561562e5768460
Oliver Smith at
ttcn3-bts-test: run bpftrace scripts

Add logic to run bpftrace scripts attached to osmo-bts-* while the
testsuite runs. The initial script is from Vadim:
https://gitea.osmocom.org/osmocom/bpftrace-scripts/src/branch/master/udp_sendmsg_delay.bt

Change-Id: I5c22cdbb08fe797be936ca174f65ade626fa4895
Oliver Smith at
common/respawn: improve logging

Add "[$(date)] respawn:" infront of all log messages, so it is clear
that they come from this script and so we have timestamps that we can
compare. This will be useful when running the bpftrace scripts along
with osmo-bts-*, which will get restarted at the same time as the
osmo-bts-* processes.

Change-Id: I641f17f6988eced12c9b301042fb5c5cfd757511
Oliver Smith at
ttcn3-bts-test: give bpftrace time to print stats

When running with bpftrace, send a kill signal to the bpftrace scripts
before killing the container. Otherwise the scripts don't print their
statistics, the end of the log then looks like this:

  [Thu Dec 18 18:06:06 UTC 2025] respawn: 2: starting: /data/bpftrace/udp_sendmsg_delay.sh
  + pidof osmo-bts-trx
  + bpftrace /data/bpftrace/udp_sendmsg_delay.bt -p 56
  Attaching 3 probes...
  Tracing udp_sendmsg() latency... Hit Ctrl-C to end.

Change-Id: I1781bddddf429c4c6a951b519a639b8663d397e6
Oliver Smith at
ttcn3-bts-test: mount tracingfs only when needed

Change-Id: I59bbbc96c0686a2c8792626297e656df72e578ed
Oliver Smith at

#2504 (Dec 10, 2025, 11:19:30 PM)

ttcn3-bts-test: Run fake_trx with sched-prio-rr

Change-Id: Ie8c395bb7de1823ac5de951e6a66085148e9c224
Depends: osmocom-bb.git I3c7f36c17fc7b9cae1023b4a0ed37f983dc286dc
Pau Espin Pedrol at

#2459 (Nov 15, 2025, 12:43:20 AM)

nplab-m3ua-test: Parametrize git branch and change it to osmocom/master

I just pushed a new "osmocom/master" branch to our fork pointing to
laforge/python3.

Change-Id: I78b2a27b355f11ba64476216bc7ef76713e8f61e
Pau Espin Pedrol at
nplab-m3ua-test: Configure Network Indicator as International

That's what we are using at the osmo-stp configuration.
Until now it didn't matter since libosmo-sigtran didn't validate NI
matching configuration on received messages, but since
1af56bf8cf266dd708b623e75d6d175a58f3dd47 it does.

Change-Id: Iae825ebc588524c7a3761c80392940733f3887a6
Pau Espin Pedrol at

#2446 (Nov 6, 2025, 9:33:25 AM)

gerrit: update to 3.10.9 (latest 3.10 patch release)

Change-Id: Id3f70d0a2de8b2bd640c36796e643b953f6716cb
laforge at
gerrit: update to 3.11.x as 3.10.x will become EOL on November 10, 2025

see https://www.gerritcodereview.com/2025-09-17-gerrit-3.13-release-plan.html

Change-Id: Icfbed5017e867f4195ee2922331c0e76b64139a0
laforge at

#2408 (Oct 22, 2025, 1:11:28 PM)

common/Release.key: update

Source: https://obs.osmocom.org/projects/osmocom/public_key
Change-Id: I5bee715ad50830ab12472fc3946b30ec3d9ace16
Oliver Smith at

#2389 (Oct 13, 2025, 7:38:29 AM)

debian-trixie-build: add libgcrypt20-dev

Add libgcrypt20-dev as it is needed by open5gs's dependency
freeDiameter:

../../../../../build/src/open5gs/subprojects/freeDiameter/include/freeDiameter/meson.build:146:15: ERROR: C shared or static library 'gcrypt' not found

Without this installed, gerrit-verifications for osmo-dev fails.

Change-Id: Ifc0cc2e3900530cb75651125c0f769f8689748b2
Oliver Smith at

#2381 (Oct 8, 2025, 12:45:54 PM)

debian-trixie-build: new container

Create a copy of debian-bookworm-build for trixie.

Change-Id: I880b5d9c57642af98c116fcb4137a54c58f5f7b4
Oliver Smith at
debian-trixie-build-arm: new container

Change-Id: I1c0efb85324b70b6370ea94f74f440e639442da5
Oliver Smith at

#2365 (Sep 29, 2025, 6:33:26 AM)

debian-bookworm-build: add gdb

Add gdb to display backtraces for coredumps in jenkins.

Change-Id: I0069b157501ac37ef0a6be814b3f78e7504436a8
Oliver Smith at

#2360 (Sep 25, 2025, 12:43:18 AM)

redmine: set session_store to active_record_store

Change the session store to fix the
"ActionDispatch::Cookies::CookieOverflow" errors we are getting.

IMPORTANT: after deploying this change, the following commands must be
executed once manually to create the session table:

  # docker compose exec redmine bash
  $ rails generate active_record:session_migration
  $ rake db:migrate

Related: OS#5476
Change-Id: Iacec800b9179cfac894f41e9eb1a5cca7e56ff1c
laforge at

#2359 (Sep 24, 2025, 3:09:29 PM)

redmine: upgrade from 5.1.7 to 5.1.10 (security update)

Change-Id: I526679bd35baea3ba71c66b34fee9ccea44ca312
laforge at
titan: upgrade to libfftranscode 0.6 (updated NGAP ASN.1 to V17.5.0)

Change-Id: I56034ef75cd6cca88fc9d353e097086bce6d639c
laforge at

#2262 (Aug 1, 2025, 12:43:18 AM)

ttcn3-bts-test: show respawn count at the end

As mentioned in the last commit, we currently must use respawn.sh to be
able to recover from clock skew errors seen in jenkins. Let's display
the respawn count at the end as warning.

Related: OS#6794
Change-Id: I4e5c3dd46ec682bfd79f2328195b0050fe3f186d
Oliver Smith at

#2259 (Jul 30, 2025, 3:18:27 PM)

Revert "ttcn3-bts-test: do not use respawn.sh"

This reverts commit 57f680439f378f5bb5c6582297ae0636db6650f8.

We're observing a lot of turbulence in ttcn3-bts-test due to the
clock instability:

  Shutting down BTS, exit 1, reason: PC clock skew too high

Even though it's no longer necessary to respawn osmo-bts-trx,
let's restore the respawn.sh to recover from such failures.

Related: OS#6794
Change-Id: I1177e9068c49bf31a4010cd21700839dfa8d5050
Oliver Smith at

#2258 (Jul 30, 2025, 9:48:28 AM)

osmo-s1gw-master: align with the upstream

Change-Id: I3c694af378c500002752c208c8fcc040fdac5587
Related: osmo-s1gw.git I5681ca103daf1c497218b4513b0ca97b1aae03d3
Related: SYS#7332
Vadim Yanitskiy at

#2255 (Jul 29, 2025, 2:23:25 PM)

Makefile: add missing OSMO_S1GW_BRANCH

Change-Id: I952fd357ccc1d8ceaf51700134f8786c4dbc96e6
Vadim Yanitskiy at
Use debian archive for deb10 libssl package

As Debian 10 is EOL, this debian 10 package we are still using here to
make mongodb work is getting removed from the mirrors. Currently some
still have it, some have deleted it already. Use the archive instead.

Fix for currently failing osmo-gsm-tester jobs:

  1.879 + wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb
  1.885 --2025-07-29 08:34:52--  http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb
  1.885 Resolving security.debian.org (security.debian.org)... 151.101.2.132, 151.101.66.132, 151.101.130.132, ...
  1.886 Connecting to security.debian.org (security.debian.org)|151.101.2.132|:80... connected.
  1.891 HTTP request sent, awaiting response... 404 Not Found
  1.898 2025-07-29 08:34:52 ERROR 404: Not Found.

Change-Id: Ia447d850d38c662aac567aa88685d984c0b42238
Oliver Smith at

#2226 (Jul 14, 2025, 5:08:29 PM)

Use debian/eol:buster instead of debian:buster

Change-Id: Ic960320dcc6c5e8d8cc4d0bdf7541da4b692e10e
Oliver Smith at

#2193 (Jun 26, 2025, 2:43:29 PM)

ttcn3-gbproxy-test: run with titan 9.0.0

Some of the tests don't work with titan 11.1.0. Run the testsuite with
the previous titan version 9.0.0 for now. The ttcn3-gbproxy-test-fr is
still running with docker-playground, using the ttcn3-gbproxy-test
container.

Related: OS#6800
Change-Id: I1e66104e48470eb96848ae6b9b64cb26563d2744
Oliver Smith at

#2130 (May 26, 2025, 8:53:27 AM)

debian-bookworm-build: add deps for osmo-dev test

Prepare to run new tests for gen_makefile.py in osmo-dev in CI. This
requires pytest and open5gs dependencies to pass "meson setup".

Related: osmo-dev I8bb2af7ffb902fd690e83e36739c2b4415b9ab80
Change-Id: I528565fe21b5989fff1d1b005e53136af5be429e
Oliver Smith at

#2127 (May 24, 2025, 12:43:17 AM)

debian-bookworm-erlang: add libnftables-dev

Change-Id: I08e08954dbf90f6548d817e0d179cc1bfbe6f315
Related: osmo-s1gw.git I498d2854447a2d53d2abddd38652f3e2bbb1fbdd
Related: SYS#7307
Vadim Yanitskiy at

#2110 (May 12, 2025, 3:13:26 PM)

Fix remaining users of deprecated git.osmocom.org

git.osmocom.org is deprecated and will be removed at some point. Make
sure we don't use it anywhere in our docker containers.

Notably this drops the following line without replacement:
  ADD http://git.osmocom.org/python/osmo-python-tests/patch/?id=$OSMO_PYTHON2_TESTS_COMMIT /tmp/osmo-python-tests2-commit

This was not needed, because the patch for OSMO_PYTHON2_TESTS_COMMIT
will never change, it points to a commit hash (unlike checking master,
where the patch can change).

Change-Id: I2c7ab8fe9e87dd973df44ae1c5ff90930627040c
Oliver Smith at

#2107 (May 10, 2025, 12:43:20 AM)

{osmo-dev-on-,}debian-sid: remove

I just discovered this while updating the remaining users of legacy
git.osmocom.org. These containers have been added in 2017 and don't
build anymore, let's remove them. I highly doubt anybody is still these,
and if they do, we can bring them back easily.

Change-Id: I379d56676327a59962d955bb3d4a0562142228e3
Oliver Smith at
nplab: don't use deprecated git.osmocom.org

Update the git clones to point to gitea.

Change-Id: If6859323b5af3bd13a974cd1d676d4f19aa16773
Oliver Smith at

#2106 (May 9, 2025, 12:43:18 AM)

common/ttcn3-docker-prepare: add _scripts symlink

The ttcn3-*-{start,stop}.sh scripts include a file from the _scripts dir
since Ia63c37b54fb42a8c64a676334cef6f9df4152e18. As they are called
through symlinks in / in docker-playground.git, we must make the another
symlink available for _scripts as well.

Fix for:
  ../ttcn3-tcpdump-start.sh: 3: .: cannot open ../_scripts/tcpdump-dumpcap.inc.sh: No such file

Change-Id: I3a093ac7058d31db958785692444cb58525a6181
Oliver Smith at

#2103 (May 8, 2025, 12:44:09 AM)

debian-bookworm-rp2040: add openssh-client, rsync

Add packages required for publishing binaries.

Related: OS#6784
Change-Id: Ie82eff2de77cbe2770b677439f6942f515572f06
Oliver Smith at

#2093 (May 1, 2025, 12:43:20 AM)

debian-bookworm-rp2040: new container

Related: OS#6784
Change-Id: I2a26ebc3c01a54dc2b0847b6b88d2f66934488c6
Oliver Smith at

#2066 (Apr 17, 2025, 9:33:28 AM)

fixup: ttcn3-bts-test: use an older version of fake_trx.py

Setting OSMO_BB_BRANCH=ttcn3-bts-test did not achieve the goal, because
it was not consumed by the osmocom-bb-host-master's Makefile.  Setting
it in jenkins.sh does the trick.

Change-Id: Ib6857fafd4085aae91eec9c67f08766bdabeb2b7
Fixes: 8540ae7 ("ttcn3-bts-test: use an older version of fake_trx.py")
Vadim Yanitskiy at

#2065 (Apr 17, 2025, 2:43:19 AM)

ttcn3-bts-test: use an older version of fake_trx.py

The latest version of fake_trx.py [re-]introduces burst queueing [1],
making its behavior more closely resemble that of a real transceiver.
However, this change has also introduced stability issues, leading
to increased flakiness in ttcn3-bts-test.

As a temporary workaround, use an older version predating this change.
Unset the "--sched-rr-prio" [2], which is not supported by that version.

Change-Id: I251082474bb29d0169f88b5bd545c97d487c8353
Related: [1] osmocom-bb.git I41291708effdd2c767be680fff22ffbd9a56815e
Related: [2] 6374a9e ("ttcn3-bts-test: Run fake_trx with sched-prio-rr")
Related: OS#6672
Vadim Yanitskiy at

#2060 (Apr 14, 2025, 11:18:24 AM)

upgrade to gerrit 3.10.x as 3.9 is EOL on May 12th

Change-Id: I906b4ff47cf714010697eeb226af826edfbaf911
laforge at
osmo-ns-master: build without uring for debian 10

In preparation for running FR tests with debian 10, adjust
osmo-ns-master to build libosmocore without uring support as
liburing-dev is not packaged for debian 10.

Related: OS#6494#note-19
Change-Id: I1278bc3435c791c429b38a21b53c8efe20e741df
Oliver Smith at
debian-buster-obs-latest: new container

Add this container in preparation for running
ttcn3-gbproxy-test-fr-latest with debian 10.

Related: OS#6494#note-19
Change-Id: I38c3ecb5cd40a6f67901388068ec1c8316a70fd4
Oliver Smith at
jenkins-common: support {latest,master}-debian10

It is required that we run the FR tests with debian 10. Adjust
jenkins-common.sh so we can use IMAGE_SUFFIX=master-debian10 and
IMAGE_SUFFIX=latest-debian10.

The related osmo-ci patch will configure jenkins to make use of this.

Related: OS#6494#note-19
Related: osmo-ci Ibd4cb705048ef5c39fa4192870e2b0f0d067842f
Change-Id: I1a41ca8ddd06f716c4bf29d60a0c2f0f82dc4e35
Oliver Smith at
Remove ttcn3 testsuites ported to testenv, part 3

Related: OS#6494
Change-Id: Ic07793fb7d8889684fd89b00860ebd0b17561a9e
Oliver Smith at

#2051 (Apr 9, 2025, 9:28:29 AM)

debian-bookworm-build: remove pysispm, pydbus

Remove pysispm as it currently breaks building the container and as it
is unlikely that we actually need this library as it is for switching
on/off power strips.

I've seen it mentioned first in c9fa2a ("Introduce osmo-gsm-tester
docker setup") from where it apparently was copy pasted to debian 10, 11
and 12 containers afterwards c1f302c2 ("Add debian-buster-jenkins docker
setup").

Remove pydbus as well, it was apparently copy pasted with the same
history and isn't used in Osmocom software.

Fix for:
  #17 30.93 ERROR: Could not find a version that satisfies the requirement pysispm (from versions: none)
  #17 30.93 ERROR: No matching distribution found for pysispm

Change-Id: I731e171c85d530984279dc05544b6f02cec7cb3c
Oliver Smith at

#2037 (Apr 3, 2025, 5:09:11 PM)

debian-bookworm-build: fix lcov-to-cobertura-xml

Use a specific commit with lcov-to-cobertura-xml, as the latest master
currently can't be installed with pip.

Change-Id: I2e248bf988be055a3a88cc414946e0377e266e1e
Oliver Smith at

#2013 (Mar 18, 2025, 7:53:27 PM)

ttcn3-bts-test: Run fake_trx with sched-prio-rr

Depends: osmocom-bb.git I3c7f36c17fc7b9cae1023b4a0ed37f983dc286dc
Change-Id: I8f9df66e0819881587b55c93043fed9a294ab5e8
Pau Espin Pedrol at
ttcn3-bts: Allow running osmo-bts-trx with rt prio

osmo-ttcn3-hacks.git Change-Id I0251ed3ec0645617cf4e9bcc03e75c805bf1634c
adds "policy rr" to VTY config of osmo-bts-trx. Allow the process to set
it inside docker.

Change-Id: Ie85d62a865db9ee0ec26a476bb42e4a6ca0ef70b
Pau Espin Pedrol at

#2011 (Mar 17, 2025, 12:53:27 PM)

osmo-{bsc,bts,sgsn}-master: remove unused deps

Change-Id: I8350091e3b0ce7af48edba10bd0b88875fe8ec41
Vadim Yanitskiy at

#2007 (Mar 15, 2025, 2:43:18 AM)

debian-bookworm-build: add xxd

The xxd program is now required for building osmo-asf4-dfu.

Related: osmo-asf4-dfu I1403d35497cdea41ea5bed2c94b9e729ca352772
Change-Id: I8064c6a24ad7dfc0a6c83c1ff5bcb7b47fdd66f4
Oliver Smith at

#2005 (Mar 13, 2025, 3:08:30 PM)

update redmine to latest 5.1.7 (security update)

Change-Id: Ia628674900376623626d8ad5f2a97324ed8780a1
laforge at
nplab-{m3ua,sua}-test: Record pcap of all testsuite run

Scripts are cherry-picked from osmo-ttcn3-hacks.git/ttcn3-tcpdump-{start,stop}.sh,
8fc1b2152ff7615f610e7a040cb3b5135dfc5351.

Change-Id: If4ea74c07d5aaca1278811ce8398dff23c386c10
laforge at

#2001 (Mar 11, 2025, 1:33:51 PM)

debian-bookworm-build: add linting tools

Prepare for being able to run these linting tools in CI.

* clang-format gets used for osmo-asf4-dfu
* ruff gets used for testenv in osmo-ttcn3-hacks

Related: osmo-asf4-dfu I9768bc2590ca5306ee19d3276f0953c6b0b6f926
Related: osmo-ttcn3-hacks 157897523e54762ec3739cd7842c7b5f5d724ac2
Change-Id: I0a287b991a3efa50090587739529f95de32225bc
Oliver Smith at

#1975 (Feb 25, 2025, 12:18:24 PM)

debian-bookworm-aram-applet: new container

Add a container for building aram-applet.

Related: SYS#7293
Change-Id: I6ed01bb837bffe6581a4c0d0b1cda39abb375fd5
Oliver Smith at
ttcn3-bts-test: do not use respawn.sh

Re-spawning osmo-bts is no longer necessary.  For quite some time now,
it has been able to attempt OML link re-establishment in a loop instead
of exit()ing.

Additionally, using respawn.sh makes crashes harder to detect.  Whether
we should restart the IUT process and continue executing the remaining
test cases after a crash is debatable.  However, none of the other
testsuites (except ttcn3-pcu-test, which actually requires restarting
osmo-pcu after each TC) use respawn.sh for that purpose.

Change-Id: I770a0530f90c5e03d2073bfc1c4cfd0e840379c9
Related: OS#6728, OS#6729
laforge at

#1929 (Jan 22, 2025, 2:43:18 AM)

osmo-pcap-master: depend on libosmo-netif

Fix the TTCN3-centos7-pcap-client-test jenkins job by adding the now
missing dependency on libosmo-netif.

Related: osmo-pcap I3562185f98685ea5a412273212e6dfbe55b360e2
Change-Id: Idc3cd011bc019c094d9b8b534dbd86056b76476c
Oliver Smith at

#1908 (Jan 6, 2025, 6:33:29 PM)

upgrade gerrit to 3.9.7

Change-Id: Idd60966d7d7dc17dad0390ecc09e9601724136d7
laforge at
redmine: upgrade to 5.1.5

Change-Id: I47444b672e4a1bacec85762c6bad4dbb2a281ca4
laforge at

#1880 (Dec 13, 2024, 12:53:28 PM)

ttcn3-remsim: Enable debug output of bankd

Change-Id: I8cd9d32b2612390bde31fa2814a51ecda20f920e
Pau Espin Pedrol at

#1861 (Dec 5, 2024, 1:54:35 PM)

make: Fix OSMO_REMSIM_BRANCH not passed

Change-Id: Iae85a99d998f91f9fda8f416155059a00da35296
Pau Espin Pedrol at

#1833 (Nov 19, 2024, 7:40:38 AM)

debian-bookworm-android: new container

Add a container for building android-apdu-proxy and possibly more
android projects in the future.

Related: OS#6367
Change-Id: Ic7a454be23072c3f0ed609d370fc88f49205b04c
Oliver Smith at

#1828 (Nov 15, 2024, 2:44:08 AM)

jenkins-common: add NO_DOCKER_IMAGE_PULL

The docker_images_require function runs "docker build" with the "--pull"
argument to automatically get new base images (typically debian
bookworm).

Recently this started to cause an error when building the arm32/v7
image debian-bookworm-build-arm on the now arm64/v8 (aarch64) rpi4.

Add NO_DOCKER_IMAGE_PULL to be able to omit "--pull". The related patch
adjusts osmo-ci to pull separately beforehand.

Related: OS#6627
Related: osmo-ci Ibf91bc098f34b43f46680d0395928e60cdd478fc
Change-Id: I6e0a84ce7f8357611abc5da856f36d0df247de75
Oliver Smith at

#1776 (Oct 28, 2024, 10:37:07 AM)

Remove ttcn3 testsuites ported to testenv, part 2

Related: OS#6494
Change-Id: I61fd5523dbd5664763b006d5ba9a368cd9caf9b9
Oliver Smith at

#1753 (Oct 17, 2024, 8:01:31 AM)

osmo-gsm-tester: use debian-bookworm-build

osmo-gsm-tester was the last user of debian-buster-jenkins, and it just
broke again for some reason. Instead of adjusting debian-buster-jenkins
again this time, I've adjusted osmo-gsm-tester to run with
debian-bookworm-build instead so we can avoid the maintenance effort of
keeping debian-buster-jenkins working, as well as the additional time
needed to build this container.

We held off from upgrading to debian-bookworm-build, because no mongodb
debian packages are available for bookworm. However in the meantime we
have just installed the bullseye mongodb package in bookworm together
with the older libssl from bullseye that it was build against - we did
this in other containers already, so do this here too.

Other adjustments:
* Pip needs --break-system-packages now (it is fine in a docker
  container)
* Patchelf in bookworm is >= 0.11 (getting installed in the apt install
  call already), so we don't need to build it from source anymore.
* Remove 'if [ "$(arch)" = "x86_64" ];' around the mongodb code. This
  was needed earlier when we used to build this container on arm devices
  too, but AFAIK we don't do that anymore and it wasn't really useful in
  the first place. (And if we do we can bring this back easily.)
* Add rpm2cpio and cpio, because these are used during the
  osmo-gsm-tester_build-osmocom-bb job which will use this docker image
  with an upcoming osmo-ci patch (currently it is not using docker to
  build the Osmocom programs, but that leads to missing library errors
  once we upgrade to bookworm here). IMHO the build process should be
  reworked so that this is not necessary, but given that osmo-gsm-tester
  isn't really maintained currently, this is the bare minimum needed to
  migrate it away from debian buster.

Related: OS#6126
Change-Id: I5ed3b92f07f23c96b8f953e0a93991cc89476a12
Oliver Smith at

#1752 (Oct 17, 2024, 2:43:20 AM)

make/Makefile: Update git branch references for asterisk and pjproject

The branches were modified a while ago to point to a development branch
while in heavy development phase. The work has been merged into feature
branches now, so move to those now that bulk of work is done.

Change-Id: I28e86f8d9ce5d46e1a891f83ec365ac9ca4e289f
Pau Espin Pedrol at

#1747 (Oct 13, 2024, 2:43:19 AM)

upgrade gerrit to 3.8.6

Change-Id: I794db60131534619c0de85eeab7f493bcd4e9106
laforge at
upgrade gerrit to 3.9.5

Change-Id: I5d82853c8c533f055ff0590bfef343e601280520
laforge at
redmine: upgrade our docker container to redmine 5.1.3

Change-Id: Ie65cfa0cfb4b1914966525be0d8db77dc98b7fa0
laforge at

#1736 (Oct 8, 2024, 2:43:20 AM)

fpga-build: Update RISC-V toolchain to riscv-none-elf

The riscv-none-embeded was deprecated ...

Change-Id: Iecdeae61f730d55d4e76056472100ca926229270
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut at

#1711 (Sep 21, 2024, 2:43:46 AM)

debian-bookworm-titan: chown 1000 for deps

Change the ownership of the "deps" directory to a not yet created user
with the ID 1000. This user gets created when the gerrit verifications
use the container for building. Changing the ownership of the deps
directory allows using them and updating them as needed (e.g. if the
patch in review changes a commit of one of the deps).

Chowning here once results in faster jobs, compared to if we did it
every time the gerrit verifications job ran.

Creating the user here would result in conflicts with other containers
depending on debian-bookworm-titan that may create their own user with
the same UID.

Related: osmo-ci I4bea336097e8180b19b3afa41c0b984d93c21bd1
Change-Id: Id51885d0929f4966b1a4a181b3453c06d7956b53
Oliver Smith at

#1689 (Sep 13, 2024, 1:23:55 AM)

osmo-stp-master: libosmo-sccp -> libosmo-sigtran

Related: OS#6239
Change-Id: Ifc8dea67746a0f785831c6b0c6b7dd391d3afa52
Oliver Smith at
debian-buster-jenkins: remove pysim

This container is still used for osmo-gsm-tester_virtual (OS#6126).
pysim doesn't build anymore for some reason since the new dependency on
pyosmocom was added to it. Since we don't use pysim in osmo-gsm-tester,
simply don't install it in this container anymore.

Change-Id: I89f667fe5603526d9f0118fc338745aab8273070
Oliver Smith at

#1688 (Sep 12, 2024, 2:43:21 AM)

debian-bookworm-build-arm: FROM: add arm32v7

Use the arm32v7 architecture explicitly, instead of implicitly using the
same architecture as the host. That way we can use the arm32v7 image on
a raspberry pi 4, even if the host system is 64 bit arm.

Using 32 bit arm instead of aarch64 is needed for the osmo-trx jenkins
jobs, which test -mfpu=neon and -mfpu=neon-vfpv4 build flags.

Related: https://github.com/docker-library/official-images#architectures-other-than-amd64
Change-Id: I93986569a9f492237da28fbc534ac5ccd176f120
Oliver Smith at

#1684 (Sep 10, 2024, 8:03:27 AM)

osmo-*-master: don't install libosmo-sccp-dev

The libosmo-sccp-dev package is no longer provided by libosmo-sccp.
Without this patch, an older version of the library from debian packages
gets installed, resulting in a conflict for sccp_types.h which is now in
libosmo-sccp-dev.

Fix for:
  #6 8.585 dpkg: error processing archive /tmp/apt-dpkg-install-llkDLH/25-libosmo-sigtran-dev_1.9.0.3.fc4c.202409092026_amd64.deb (--unpack):
  #6 8.585  trying to overwrite '/usr/include/osmocom/sccp/sccp_types.h', which is also in package libosmo-sccp-dev:amd64 1.6.0+dfsg1-3

Related: libosmo-sccp I299a32a2f8f61477cf49c8126567fef2092d5407
Change-Id: I3e7c3c14649d8ebf71fa2968709816dae7bff20c
Oliver Smith at

#1679 (Sep 9, 2024, 9:45:00 AM)

Remove ttcn3 testsuites ported to testenv, part 1

Related: OS#6494
Depends: osmo-ci I6c7f88bb268a9f339b3af1d31d665e4376b34e48
Depends: osmo-ci Iac626d0c7c87c49ee6ba540ae1894abdb2336642
Change-Id: I7182c7e8eb00a9323fe1b6d27f630d253b4d34f6
Oliver Smith at

#1649 (Aug 23, 2024, 2:00:06 PM)

ttcn3-epdg-test: restore osmo-epdg.latest.config

The osmo-epdg.latest.config is needed, as it has a different libdir:
-  {libdir, "/usr/lib"}
+  {libdir, "/tmp/osmo-epdg/_build/default/lib/gen_socket/priv/lib"}

Fix for:
Failed to load NIF library: '/tmp/osmo-epdg/_build/default/lib/gen_socket/priv/lib/gen_socket_nif.so: cannot open shared object file: No such file or directory'

Change-Id: Icb3e79d5f5ca9af67037c2746318d61fd2713967
Oliver Smith at

#1628 (Aug 14, 2024, 2:44:01 AM)

ttcn3-epdg-test: fix osmo-epdg path for latest

Restore the proper path for osmo-epdg when running with -latest, which
has been removed by accident in the earlier commit that should only
have changed the config.

Fix for:
/data/epdg.sh: line 14: /tmp/osmo-epdg/_build/default/bin/osmo-epdg: No such file or directory

Fixes: 00e68245 ("ttcn3-epdg-test: remove latest code path")
Change-Id: I0547f62a3610a62e90ad767f447c68851e8a725d
Oliver Smith at

#1624 (Aug 10, 2024, 2:43:45 AM)

ttcn3-epdg-test: remove "cp osmo-epdg.latest.config"

I've overlooked this in my last patch. Fix for:
  cp: cannot stat 'osmo-epdg.latest.config': No such file or directory

Fixes: 00e68245 ("ttcn3-epdg-test: remove latest code path")
Change-Id: I720e718a9daec125e94cf2e98127ec3aa48820f8
Oliver Smith at

#1623 (Aug 9, 2024, 2:45:07 AM)

common/Release.key: update

The current key was about to expire at the end of the month, so I've
regenerated it. The new key is valid until 2026-10-16.

Source: https://obs.osmocom.org/projects/osmocom/public_key
Change-Id: I7446565ff3bbbcd30e53234786d84109583284a5
Oliver Smith at
ttcn3-epdg-test: remove latest code path

Use the same config in latest as in master, as a new version 0.1.0 has
been released recently. This fixes the two currently failing tests on
latest. The ttcn3-epdg-test has not been replaced by testenv (OS#6494)
yet, so let's fix it here.

Change-Id: I522824a6df3c58d26788c8d9e978759e7ec8a462
Oliver Smith at

#1619 (Aug 5, 2024, 12:34:59 PM)

debian-bookworm-build: update sphinx-argparse branch

Our changes are now in the "inside-classes" branch.

Fix for:
  Collecting sphinx-argparse
    Cloning https://github.com/osmocom/sphinx-argparse (to revision master) to /tmp/pip-install-cff9hqce/sphinx-argparse_4b90c55018034988836549dbf04f94ad
    Running command git clone --filter=blob:none --quiet https://github.com/osmocom/sphinx-argparse /tmp/pip-install-cff9hqce/sphinx-argparse_4b90c55018034988836549dbf04f94ad
    WARNING: Did not find branch or tag 'master', assuming revision or ref.
    Running command git checkout -q master
    error: pathspec 'master' did not match any file(s) known to git

Change-Id: I666972097db269dd1e46031854719210e993a71a
Oliver Smith at

#1615 (Aug 3, 2024, 2:43:46 AM)

scripts/kernel-test/smoke-test.sh: Log qemu output to stdout

This allows logging the run-qemu.sh output/progress to eg.
/tmp/logs/ggsn-v6_only/osmo-ggsn.log when running the jenkins.sh.

Change-Id: Ia638b0b9631518a9bb58e70ef55029085ce0fa9c
Pau Espin Pedrol at

#1614 (Aug 2, 2024, 1:20:42 PM)

ttcn3-ggsn-test: Reduce timers for ggsn-test-kernel-torvalds

The TTCN3 test already assumes that t3 = 1 and n3 = 2 and sets the
timers accordingly. The osmo-ggsn config for the non-kernel test already
includes these timer values and doesn't need to be updated.

Change-Id: I738b460996b29ca828c62427e01b9bb6b995c051
dwillmann at

#1604 (Jul 27, 2024, 8:43:46 AM)

ttcn3-stp-test: remove <= 1.8.x code path

Change-Id: I3c134df2e194dbad47261eed5c0b3b54ed39a383
Oliver Smith at

#1596 (Jul 25, 2024, 2:43:53 AM)

ttcn3-sgsn: Use new 172.18.8.104 in emulated RNC

I forgot to push with last commit the change in IP address using the new
IP address in the emulated HNBGW. Doing it here to avoid test breakage.

Fixes: 594e021b9b699600a2f89a16676b05446a64fbdc
Change-Id: I20801e22bf20d2b2e67697fbf15811fe8eaa2996
Pau Espin Pedrol at

#1595 (Jul 24, 2024, 3:16:13 PM)

ttcn3-sgsn: Use 2nd IP address on emulated HNBGW

In 3G, both HNBGW and GGSN talk GTPv1U, and osmo-sgsn uses
Direct Tunnel feature to connect both together.
Since GTPv1U uses a fixed port, we need 2 IP addresses, one set for the
emulated GGSN and one for the emulated HNBGW.

This is a preparation towards adding tests validating creation of PDP
context in 3G, which was not yet tested.

Related: SYS#5435
Change-Id: I21882dc5a9f5167ac9104d4ac48d5e5631505463
Pau Espin Pedrol at

#1594 (Jul 24, 2024, 10:35:05 AM)

asterisk: Enable use of EVS codec

We want to test Asterisk using only EVS against the IMS Core.

Related: SYS#7012
Change-Id: I8bf781cbb0ae40a2bc67ede1110d50721d1f6025
Pau Espin Pedrol at

#1586 (Jul 18, 2024, 10:08:29 AM)

asterisk: extensions.conf: Allow extra MO call from SIP UA which HOLDed previous call

We need to keep track of the SIP UA using the IMS endpoint, so that when
the IMS call is set on HOLD we can identidy that the same SIP UA can
still initiate new calls on the IMS endpoint.

Related: SYS#7003
Change-Id: Idad9e613669466f3aac8b1c7b43f8d9b6e0494e6
Pau Espin Pedrol at

#1583 (Jul 17, 2024, 2:43:21 AM)

ttcn3-asterisk: pjsip.conf: Update config name s/ims_aka/volte/g

The config key was renamed today, so update the tests to avoid failing
reading the config file.

Change-Id: I29d8ecb0f514de4745de22711234b0d514b2eb39
Pau Espin Pedrol at

#1582 (Jul 16, 2024, 5:43:27 PM)

ttcn3-asterisk: extensions.conf: Reject subsequent MO/MT calls in VoLTE when busy

Reject calls when the VoLTE endpoint is already busy with an ongoing
call.

Related: SYS#7003
Change-Id: If4ce1fee36e51ac72681ac2ce04531d501ccb56c
Pau Espin Pedrol at
ttcn3-asterisk: extensions.conf: Reject calls if all SIP UAs busy in call

Before this patch, asterisk would ring on local SIP UAs already in a
call, which is not the expected behavior for this project.

Related: SYS#7003
Change-Id: Id9e3ead6e28a53793c6cceb6f23d5e6d987521d8
Pau Espin Pedrol at

#1576 (Jul 12, 2024, 3:23:29 PM)

asterisk: dnsmasq.conf: Avoid forwarding queries to other DNS servers

This creates problems when requesting resolution of the IPv6 address.
For some reason, dnsmasq was forwarding the request to the non-available
google DNS servers, and Asterisk docker container pre-start commands
checking for DNS resolution would never pass when run in jenkins node.

Change-Id: I0ee7a7b0c307cc83acfb1c4c8f4bdc092133fddb
Pau Espin Pedrol at
asterisk: timeout ping DNS validations after 3 seconds

Change-Id: I9f1bcbc2b868cf7c894a57ca77e28b5bfbba0eac
Pau Espin Pedrol at
asterisk: Wait for Asterisk ready before starting testsuite

A recent commit made Asterisk wait for dnsmasq to be ready before
starting it. This means Asterisk takes more time now to be ready itself,
hence we need to delay launching the testsuite until it is ready.
Otherwise, the entire set of tests may be run even before Asterisk gets
to answer on the AMI socket.

Change-Id: I337d57f3eb3e6688dbf3c61d55978da10d84b2cb
Pau Espin Pedrol at

#1575 (Jul 12, 2024, 9:33:27 AM)

centos7: use vault.centos.org

The centos7 images try to use mirrorlist.centos.org to determine the
fastest mirror, and then download binary packages from there. But
mirrorlist.centos.org isn't online anymore. Use the vault instead.

Without this patch, the mirrors that can't be reached are ignored, and
later on it fails to properly install packages because of missing
dependencies.

Related: https://serverfault.com/a/1161847
Change-Id: I0a8f93bb16dd9245760b8a1ad53f0642d446b4cf
Oliver Smith at

#1574 (Jul 12, 2024, 2:43:21 AM)

dnsmasq: Log additional query info with --log-queries=extra

Related: SYS#7010
Change-Id: I445b7900769418d8f3958f37d0613283ca9a7b78
Pau Espin Pedrol at
asterisk: Wait for dnsmasq resolver ready before starting Asterisk

Otherwise Asterisk wil lfaill to add the identify match at startup:

[2024-07-11 10:35:02.199] ERROR[14]: netsock2.c:303 ast_sockaddr_resolve: getaddrinfo("ims.mnc001.mcc238.3gppnetwork.org", "(null)", ...): Temporary failure in name resolution
[2024-07-11 10:35:02.199] ERROR[14]: res_pjsip_endpoint_identifier_ip.c:553 ip_identify_apply: Identify 'volte_ims' failed when adding resolution results of 'ims.mnc001.mcc238.3gppnetwork.org'
[2024-07-11 10:35:02.199] ERROR[14]: res_sorcery_config.c:422 sorcery_config_internal_load: Could not create an object of type 'identify' with id 'volte_ims' from configuration file 'pjsip.conf'

Related: SYS#7010
Change-Id: I01475c1ed2aa20fb9b8b8722a7b965ea9b63e8a9
Pau Espin Pedrol at

#1570 (Jul 10, 2024, 11:28:29 AM)

asterisk: pjsip.conf: Forward Hold/Resume SIP UA -> IMS Core

This is needed for forward the a=sendonly when a local SIP UA wishes to
hold a call.

Related: SYS#7002
Change-Id: I70e7e5df2d9c91acdc85c689cf8e48c5a44b2a34
Pau Espin Pedrol at

#1569 (Jul 10, 2024, 2:43:20 AM)

seccomp_profile: import

Import the current default seccomp profile from docker, commit from
current master branch. The next patch will re-enable the io_uring
syscalls in the profile.

Source:
https: //raw.githubusercontent.com/moby/moby/c4dcaa0d9adb8cc0a0d95393e8cf3e853254eacb/profiles/seccomp/default.json

Related: OS#6405
Change-Id: Ib6f7bc04cb58815190fc2102900e873da301ce95
Oliver Smith at
seccomp_profile: enable io_uring

Revert 891241e7 ("seccomp: block io_uring_* syscalls in default
profile") from upstream:
https://github.com/moby/moby/commit/891241e7e74d4aae6de5f6125574eb994f25e169

This will be used by osmo-ci Iaeb84627fc1404014e5a8a2e88a02ee66cfb880d.

Related: OS#6405
Change-Id: I27567c2a5d9543c3509c316226c082ab950c5ebc
Oliver Smith at
ttcn3-s1gw-test: update logging config in osmo-s1gw.config

Bring logging configuration in sync with erlang/osmo-s1gw.git.

Change-Id: I3853c40c94d3ee2bbd5d6f6b345bfd87cce134d0
Related: erlang/osmo-s1gw.git Ib88801b8d38976b98a02ed06e1638e0e9056bafb
Vadim Yanitskiy at

#1565 (Jul 8, 2024, 8:40:02 AM)

ttcn3-asterisk: Allow running testsuite with IPv4 and IPv6 configs

Requires [1] to be able to run SIPmsg_PT in Asterisk_Tests with IPv6
support.

[1] https://gitlab.eclipse.org/eclipse/titan/titan.TestPorts.SIPmsg/-/merge_requests/4

Related: SYS#6982
Change-Id: I1de922c681fef4d308898cd592544aef25901c7b
Pau Espin Pedrol at

#1560 (Jul 5, 2024, 4:53:26 PM)

ttcn3-asterisk: Small improvements to ease introducing IPv6 support

Change-Id: If5200e9ba7774f5ec1037584dcb1f8ca2e45f835
Pau Espin Pedrol at

#1559 (Jul 5, 2024, 2:43:49 AM)

osmo-epdg: add support for testing for latest

Create a new osmo-epdg-latest docker image.
Use a different configuration for ttcn3-epdg-test if running the latest.
The latest comes from the obs repository and has different paths for libraries.

Change-Id: Ia31a92446e82a25fb592a2c91d0204db8f265d52
lynxis at

#1557 (Jul 4, 2024, 1:33:25 PM)

jenkins-common.sh: Store IP subnet prefix in global variable

Change-Id: Icc492aea1ddb91f672c7a0cec764b42711789fb6
Pau Espin Pedrol at

#1556 (Jul 4, 2024, 12:50:15 PM)

asterisk: conf: Handle precondition through app_waitforprecondition.so

This module has been introduced recently, which allows handling
precondition FSM during MT calls.

Change-Id: I84eefec6cd38d50e88633ac01f606b1dda06bb43
Pau Espin Pedrol at
asterisk: Allow alaw code from IMS until evs is supported

EVS codec is not yet fully supported, specially if no specific
implementation of the EVS API is available. Let's allow using alway
from/to IMS for now, so calls can be made and tests work.

Change-Id: I4835f73ef1b13343ff209f1aba84fab43427aa9d
Pau Espin Pedrol at
ttcn3-asterisk: Move ttcn3 docker related files to ttcn3/ subdir

Other files belonging to other containers are already placed in subdirs,
so do the same for these ones too.

Change-Id: Ie2b3de22df9ab155f42a717bccf718fccd388fc6
Pau Espin Pedrol at

#1555 (Jul 4, 2024, 2:43:47 AM)

ttcn3-ggsn-test/jenkins: tweak loop logic

Iterate over TEST_CONFIGS instead of TEST_CONFIGS_ALL and then filtering
with test_config_enabled.

Change-Id: Ie7701abe6ab7cff139766eca9240e0f26af32231
Oliver Smith at

#1554 (Jul 3, 2024, 2:45:00 AM)

asterisk: pjsip.conf: Set IMEI

Newer asterisk VoLTE code being developed (jolly/work) now has a config
to set the IMEI instead of the whole contact header. Use it.

Change-Id: I5d4584fac309bea4afe3929bdca047c31c93b457
Pau Espin Pedrol at

#1552 (Jul 2, 2024, 3:18:25 PM)

ttcn3-asterisk: Fix ICSI value encoding

As seen in TS 24.229 7.2A.8.2 example.

Change-Id: I02b3d54003bb02e999b27b533a651299dbb53503
Pau Espin Pedrol at

#1537 (Jun 26, 2024, 9:58:25 AM)

asterisk: logger.conf: Log milliseconds in timestamps

Change-Id: I4d518547d1e284b18034ae195e6d05da283593de
Pau Espin Pedrol at
asterisk-master: Fetch required branch directly

When I added the Dockerfile I initially wrote it in a 2 step fetch &
build, to try to avoid recompiling the whole thing every time some patch
from one of the devs was pushed to our building branch.
This, whoever, creates problems sometimes due to how the build system
for pjproject is generated when building asterisk, so let's drop the
2stage setup to avoid problems fetching from different branches, etc.

Change-Id: Id9fbee9cdb8f9387e0daefd7925df2542d384a91
Pau Espin Pedrol at
asterisk-master: Build from jolly/work branch by default

That one will not be the final branch, but it's the one where most of
the development is happening. Hence, switch to that branch by default
for now, so that jenkins nightly job runs that branch.

Change-Id: Iabf141ae0b997f9707a7dbd555307e052b92d355
Pau Espin Pedrol at

#1536 (Jun 26, 2024, 2:43:18 AM)

ttcn3-asterisk: pjsip.conf: Avoid advertising support for +g.3gpp.smsip

Asterisk doesn't so far support SMS over IMS, so avoid announcing it
during REGISTER.

Related: SYS#6981
Change-Id: I1546b7106d25ebfb1c92c1a27db1f44c51b0413a
Pau Espin Pedrol at
ttcn3-asterisk: pjsip.conf: Use reliable provisional responses if peer supports it

The default 100rel=yes won't use reliable provisional responses unless
the peer "requires" it, while we should instead be using them if the
peer "supports" it.

Related: SYS#6980
Change-Id: I40764e24f2c80ce48d6634e09797fefe97d99e51
Pau Espin Pedrol at
ttcn3-asterisk: Set mp_ims_imei matching pjsip.conf

Since recently, the testsuite validates the IMEI received at IMS Core
over REGISTER Contact header matches the one configured at Asterisk
config file.
Hence, add the same value to Asterisk_Tests.cfg so it can match the
value.

Depends: osmo-ttcn3-hacks.git Change-Id I866d89ec137d264e257b05226900b744a93c257e
Related: SYS#6877
Change-Id: Id8bb7886ffcea506348496148e17f71cef1edc90
Pau Espin Pedrol at

#1532 (Jun 24, 2024, 2:43:19 AM)

ttcn3-s1gw-test: start osmo-s1gw container with --user=root

For some reason, on Arch with docker 26.1.3 it implicitly starts
with --user=root, while with docker 20.10.5 on Debian bookworm it
starts with --user=build.  This results in permission errors:

  + ip addr add 172.18.74.100/24 dev eth0
  RTNETLINK answers: Operation not permitted
  + true
  + ip addr add 172.18.74.200/24 dev eth0
  RTNETLINK answers: Operation not permitted

Pass --user=root explicitly to bring consistency and fix those.
Hopefully, ttcn3-s1gw-test will be passing on Jenkins with this patch.

Change-Id: I5cc67d1c3192fd55560c16c8cc44b13b2c9b3e98
Fixes: 9ca9bed "ttcn3-s1gw-test: fix using unassigned addr for osmo-s1gw"
Vadim Yanitskiy at

#1531 (Jun 23, 2024, 2:43:18 AM)

debian-{bullseye,bookworm}-erlang: fix non-alphabetic pkg order

Purely cosmetic change, bringing a bit of consistency.

Change-Id: I956a15304cbdcdc5572e181dcefd0da884b8fc63
Vadim Yanitskiy at
debian-{bullseye,bookworm}-erlang: install iproute2

Change-Id: I753a8c97c17e6a143dd96b168ddc88400f0fc02d
Vadim Yanitskiy at
ttcn3-s1gw-test: fix using unassigned addr for osmo-s1gw

The S1GW container gets assigned the primary addr 172.18.10.100/24
by docker_network_params().  The secondary addr 172.18.10.200/24,
which is used for eNB connections, needs to be assigned manually.

This patch finally makes ttcn3-s1gw-test pass.

Change-Id: I109a5feaca5acf050008e883cc8b4e1e28beebab
Related: SYS#6772
Vadim Yanitskiy at

#1525 (Jun 19, 2024, 2:43:21 AM)

ttcn3-s1gw-test: align with the moduleparam naming changes

Change-Id: I37b7d91e9e18df463f54cac3e5586942aea21a69
Related: osmo-ttcn3-hacks.git Ice665662c8448c8314d5e6cc1e401e62b635872c
Vadim Yanitskiy at
ttcn3-s1gw-test: fixup: align with the moduleparam naming changes

Change-Id: Ibbc8501b01e4b168c856b6817e5b92bfd9816669
Vadim Yanitskiy at

#1521 (Jun 18, 2024, 2:43:18 AM)

s1gw: add osmo-s1gw-master

Change-Id: Ic732f57940fa41fe21a26af663fea559551b1811
Related: SYS#6772
Vadim Yanitskiy at
s1gw: add ttcn3-s1gw-test

Change-Id: I95000d7a9d778df1da830cd5059e5b6899391fbe
Related: SYS#6772
Vadim Yanitskiy at

#1515 (Jun 13, 2024, 2:43:19 AM)

jenkins-common: Treat -asan builds the same as -master

This fixes the jenkins test failures seen in ttcn3-stp-test-asan. TTCN3
tries to connect to stp via TCP, but since the jenkins.sh script doesn't
consider this a build from master the corresponding config is not added
to osmo-stp.cfg.

Also change the function names from image_suffix_is_* to osmo_repo_is_*
to better reflect what they are doing (instead of how).

Related: OS#6486
Change-Id: Ibf93880345f38668f8dc812d1523b985d368dfcc
dwillmann at

#1511 (Jun 11, 2024, 1:38:30 PM)

debian-bookworm-*: useradd -d -m instead of mkdir

Shorten the logic for adding the user slightly, as suggested by Vadim in
code review.

Change-Id: Ief8837bd9f89f51e66857a453f7fc4645620159f
Oliver Smith at

#1510 (Jun 11, 2024, 10:33:29 AM)

debian-bookworm-obs-asan: new container

Copy debian-bookworm-obs-latest and configure it to use the
osmocom:nightly:asan repository. Adjust jenkins-cmmon.sh for running the
testusite against the asan repository.

Related: OS#5301
Change-Id: I4219d927d4617232584d5401debd0be04df67ea0
Oliver Smith at
asterisk: extensions.conf: Route non-local extensions towards IMS side

Previous config had only 1 digit extensions being routed, plus the fact
that the endpoint name was incorrect (now "volte_ims").

Change-Id: Icce5e55ab75c0c9fdacc4d8504e6714b99d385b4
Pau Espin Pedrol at
ttcn3-asterisk: Add extra IP addr in ttcn3 docker for IMS Core

TTCN-3 docker container is emulating both the SIP UAs and the IMS Core.
So far all the components being emulated there were running under the
only local IP address available in the docker container.
This means, both the SIP UAs and the IMS Core were using the same IP
address.

This is actually causing problems for Asterisk, since on the VoLTE side
it needs to be configured to identify the endpoint based on the IMS Core
domain name.
Since the default identify matching ordered in Asterisk is:
"endpoint_identifier_order=ip,username,anonymous"
That means it always first checks the source IP address, which means
messages coming from local SIP UAs are misunderstood to be coming from
the IMS Core (since ims.mnc001.mcc238.3gppnetwork.org resolves to same
IP address).

The issue can be fixed by swapping the order to "username,ip", because
then the well-known 50X extensions are matched before attempting to
match by IP address.
However, this is all deviating config for the expected usual network
configuration, since the local IP network will be different than the IP
address coming from VoLTE.
Hence, let's instead properly separate the local SIP and VoLTE networks
with different IP addresses, which then solves the issue.

Change-Id: I6e5a261748ec61bb1cfa4aafee8c748d0f46aa9e
Pau Espin Pedrol at
asterisk: extensions.conf: Forward call from VoLTE to all registered local UAs

Change-Id: Id3e14ca660f0aa4ed685a90f527feb8732a83806
Pau Espin Pedrol at

#1502 (Jun 7, 2024, 2:43:45 AM)

asterisk: pjsip.conf: Set default p_access_network_info

The value is overwritten if set through AMI PJSIPAccessNetworkInfo
action.

Change-Id: I2bb0b89ec36137bbae613962ff5f5aad56721f34
Pau Espin Pedrol at

#1501 (Jun 6, 2024, 2:43:20 AM)

asterisk: pjsip.conf: Update IMS port asterisk config

The config names changes recently during development.
Adapt to the new range style fields.

Change-Id: I4aceb3b62ce7f446abd02b1a53993a3baecf2f20
Pau Espin Pedrol at

#1500 (Jun 5, 2024, 3:33:30 PM)

Introduce dnsmasq docker container

This container will be used by the ttcn3-asterisk testsuite setup, so
that asterisk can resolve NAPTR nameservers for the IMS 3gpp DNS.

Change-Id: Ic1490334375c2a9b11b923a6757e844faf524634
Pau Espin Pedrol at
ttcn3-asterisk: Use dnsmasq to let asterisk resolve IMS DNS

Depends: osmo-ttcn3-hacks.git Change-Id I23afdc8b70132dbd947c280f6e5aadbc84849f01
Change-Id: I2da10c80a81ef5603082e4ee1445a39745c0c24f
Pau Espin Pedrol at
asterisk: pjsip.conf: Configure Contact field

Change-Id: I0b52407f9e7d1ca7f186c77db8f9e1a0ca272ff7
Pau Espin Pedrol at
asterisk: pjsip.conf: identify incoming register started by local SIP UAs

This config section is needed so that Asterisk can figure out the endpoint
when receiving a "REGISTER sip:172.18.248.10". Without it, it will answer with
a 404 Not Found.

Change-Id: I39568c3cebb89fc5a62a8144f448b50c48d79f10
Pau Espin Pedrol at

#1498 (Jun 5, 2024, 2:43:19 AM)

asterisk-master: Install AMR enc/dec dependencies

Change-Id: Ic5de8ae6ac8ade375b9692427e5865bee49dc01f
Pau Espin Pedrol at
asterisk: pjsip.conf: Fix msisdn not used in From field during IMS INVITE

Related: SYS#6950
Change-Id: I972e75b36457c532bd7528ffb5a7b80544abba4a
Pau Espin Pedrol at

#1496 (Jun 4, 2024, 8:33:28 AM)

asterisk: pjsip.conf: Use TCP when forwarding INVITE to IMS core

Change-Id: I67bc01e4d53d47eb805e81736378f292b2834fd2
Pau Espin Pedrol at
asterisk: pjsip.conf: Disable remote bridging between local SIP and IMS

While implementing a first ttcn3 test validating the MO call scenario
(SIP-UA -> Asterisk -> IMS-CORE) [1] I was running into the scenario
where, after the first SIP INVITE + 200 OK + ACK, Asterisk was sending
a RE-INVITE to both parties to attempt to remotely bridge them (RTP
traffic flowing directly between them without passing through Asterisk).

This happened in part because I'm so far configure A-LAW on both sides
so asterisk figures out it can do so. I still need to change IMS-core
to EVS only.

In any case, regardless of the codecs used, my understanding is that
asterisk should never attempt remote bridging when using the "volte_ims"
endpoint, since that network segment is separate from the local network
where the local SIP UAs are located.

The "direct_media=no" option just addresses the issue; Asterisk no longer
tries to re-invite after the call is established

Related: SYS#6782
Change-Id: I4edea96151b31f02bf292b43b757922389375429
Pau Espin Pedrol at

#1490 (May 30, 2024, 2:43:20 AM)

asterisk: pjsip.conf: Stop Asterisk doing unexpected REGISTER on IMS

REGISTER should only be done when the IMS APN is ready, and baseband
then interface asks it to register.

Change-Id: I56249d4138c0a1f5824e089c14c095badc41dc95
Pau Espin Pedrol at
asterisk: pjsip.conf: Enable USIM Auth over AMI interface

Astersik_Tests already implement the related AMI procedures, hence
configure Asterisk to use them.

Depends: osmo-ttcn3-hacks.git ddc4c709e51b92dae4d10f0c71b062e4719da673
Change-Id: Iab2e9ad21ff6271ae51329608658ffe353173f38
Pau Espin Pedrol at

#1475 (May 21, 2024, 9:03:29 AM)

ttcn3-bts-test: also execute tests from BTS_Tests_ASCI

We do have 5 ASCI (VBS/VGCS) testcases in osmo-ttcn3-hacks.git,
but we never executed them on Jenkins so far.  Fix this.

Change-Id: I1bcdccb6e2c48542d6447d7757fe1d56c1bf8406
Related: osmo-ttcn3-hacks.git I3727c471663b731117a264f60d2f1ba5fd16928e
Vadim Yanitskiy at
ttcn3-bsc-test: also execute tests from BSC_Tests_ASCI

We do have 13 ASCI (VBS/VGCS) testcases in osmo-ttcn3-hacks.git,
but we never executed them on Jenkins so far.  Fix this.

Change-Id: I03f1ac2ed9ca59b90fead73fee3cf333b6146344
Vadim Yanitskiy at

#1469 (May 17, 2024, 12:50:05 PM)

ttcn3-asterisk: Configure docker testsuite to be able to set up ipsec tunnels

Depends: osmo-ttcn3-hacks.git Change-Id Ic042422788ee406f5b71ca3878bc5617e5455579
Change-Id: I3379e4991a5c705b5b0a14e5fee2eb165cc8a1e3
Pau Espin Pedrol at

#1467 (May 17, 2024, 12:36:05 PM)

ttcn3-ggsn-test-ogs: run smf in 4g only mode

Remove the SBI related configuration, so open5gs-smf does not attempt to
connect to the NRF every few seconds.

Fix for:
  [sbi] WARNING: [299d78ae-fae5-41ee-84a3-dbd9fa117ce7] Retry registration with NRF (../lib/sbi/nf-sm.c:182)
  [sbi] WARNING: [7] Failed to connect to 127.0.1.10 port 7777 after 200 ms: Couldn't connect to server (../lib/sbi/client.c:698)

Change-Id: I61d60e6e71b671c3deb20cc7ff8abb81ea4d5f03
Oliver Smith at
Revert "ttcn3-docker-run.sh: Fix dumpcap failing to access /data inside docker"

This reverts commit 2b9c8e3db8cf77c5ce5c3f888365f983f3ee8d76, as it
causes a lot of testsuites to fail with e.g.

  + network_replace_subnet_in_configs
  + set +x
  Applying SUBNET=161 to: /home/osmocom-build/jenkins/workspace/ttcn3-ggsn-test/logs/ggsn-all/osmo-ggsn.cfg
  Applying SUBNET=161 to: /home/osmocom-build/jenkins/workspace/ttcn3-ggsn-test/logs/ggsn-tester-all/GGSN_Tests.cfg
  sed: couldn't open temporary file /home/osmocom-build/jenkins/workspace/ttcn3-ggsn-test/logs/ggsn-tester-all/sedsByWIc: Permission denied

Let's discuss how to fix the dumpcap problem instead in OS#6455.

Change-Id: Ic98e8206d8251060b777fc7d0b4497ba3e1caf7f
Oliver Smith at
debian-*: install pylint from debian repos

Get pylint from the debian repositories to be on the same version until
we use the next debian version, instead of always installing the latest
pylint version from pip.

Change-Id: I721db1c18db43cc7a2d38177e9846c43dbdd0ae3
Oliver Smith at

#1463 (May 16, 2024, 8:40:06 AM)

ttcn3-asterisk: Configure asterisk for initial SIP register on IMS side

This set of pjsip config requires work done by jolly in our fork of
asterisk adding IMS features.

Depends: osmo-ttcn3-hacks.git Change-Id Idb3b19ccd82cad25948106b2c72aa424d7f79cd8
Change-Id: I66d128192146ad600203ea2a41b8bf019311d603
Pau Espin Pedrol at
ttcn3-docker-run.sh: Fix dumpcap failing to access /data inside docker

In docker, the /data dir is mapped to $VOL_BASE_DIR, which is created by
docker-playground.git jenkins-common.sh, hence as the user running
jenkins.sh in the host system.
As a result, when the dir is mapped to /data, inside the container it
will have the UID:GID of the outter user, not the one inside docker.

Before this patch, if a ttcn3 container was started in jenkins.sh with
--cap-add=NET_ADMIN, then osmo-ttcn3-hacks.git/ttcn3-tcpdump-start.sh
would select dumpcap instead of tcpdump, to attempt to record a pcap
file to /data/$testcase.pcap.
Due to some unknown way of dropping privileges done by dumpcap though,
it was unable to open the /data/$testcase.pcap due to /data being owned
to another user (tcpdump doesn't have this problem).

This patch fixes the above scenario by making sure /data is chowned to
the user running stuff inside docker. This is already kinda expected
since there's a fix_perms() script in jenkins-common.sh reverting files
created during the test so that they can be accessible by outter user
once everything is finished.

Change-Id: I1229a91cdbb1aa73fd94f1bf7e26f34086f06b25
Pau Espin Pedrol at

#1460 (May 15, 2024, 11:58:30 AM)

ttcn3-asterisk: Enable debug in log file

Change-Id: Ifbc8208507ba47e9f6a1eaf5a43465d2a1af08c1
Pau Espin Pedrol at
ttcn3-asterisk: Enable debug for pjproject

Change-Id: I7de6ac31f7a75411fb515501611187f97e829ab3
Pau Espin Pedrol at

#1455 (May 13, 2024, 9:35:09 AM)

asterisk: Enable capabilities required to set up ipsec

Change-Id: I2dc040cf87169c9a59dc7e9f1af0e1c17bde6683
Pau Espin Pedrol at

#1452 (May 11, 2024, 2:43:21 AM)

ttcn3-asterisk: Update Asterisk_Tests.cfg to adapt to new AMI_Adapter implementation

Change-Id: I8d89e1694347f93e84c692d23b375062e003878e
Pau Espin Pedrol at

#1451 (May 10, 2024, 2:28:27 PM)

asterisk: pjsip.conf: Mark templates accordingly

Mark templates as such, in order to remove error messages during
asterisk setup when trying to apply the templates (which lack fields
such as "username", provided by config sections using the templates).

Reference: https://docs.asterisk.org/Fundamentals/Asterisk-Configuration/Asterisk-Configuration-Files/Templates/Template-Syntax/

Change-Id: Ia132c2e90cf6ee44145ca2e2555cf2dc6c1cfd51
Pau Espin Pedrol at
asterisk: manager.conf: Give more permissions to AMI user

These are required to use eg. PJSIPRegister command, otherwise Asterisk
answers with "Permission Denied".

It also seems to help in getting more events from Asterisk.

Change-Id: Ia77a9d88758f648a5539dbc7511b75c20fe7dd6b
Pau Espin Pedrol at

#1448 (May 9, 2024, 3:28:30 PM)

ttcn3-asterisk: Configure new IMS ConnHdlr

Configure new component added to Asterisk_Tests to emulate an IMS Core.

Depends: osmo-ttcn3-hacks.git Change-Id Ibbbadd54b7facf4ef7384499704e742f482a1252
Change-Id: I0ee6cb8955fc4f7dec3db97c768430905374f115
Pau Espin Pedrol at

#1441 (May 6, 2024, 6:58:27 PM)

asterisk-master: Use pjproject from external git repo

By default, asterisk.git build system will fetch pjproject tarball from
https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/$(PJPROJECT_VERSION),
where PJPROJECT_VERSION is defined in asterisk/third-party/versions.mak:
PJPROJECT_VERSION=2.14
On top of that, it applies some patches adapting build system, found in
asterisk/third-party/pjproject/patches/.

The build system also allows to use an out-of-tree pjproject (eg from a
git repo) by symlinking the directory to
asterisk/third-party/pjprojec/source/.

This is all documented in asterisk/third-party/pjproject/README-hacking.md.

Since we want to develop on pjproject too, fetch our own pjproject.git
repo, where we can push changes, and build asterisk using that repo.

Bear in mind that, when asterisk.git builds with out-of-tree pjproject,
it wont apply pjproject patches under asterisk.git/third-party/pjproject/patches.
Hence, I created an "asterisk/2.14" branch in our pjproject.git repo which points
to tag "2.14" (the one used by asterisk 20.7.0, which we use), and has the 2 patches
applied on top.
Then, we have our own "sysmocom/2.14" branch on top of that "asterisk/2.14"
branch, where we put our development. WIP development can also be done  in whatever
branch  on top of "asterisk/2.14" branch.

Change-Id: I73f3323db1b6897fc43215578b0a011fdb6909c5
Pau Espin Pedrol at

#1422 (Apr 25, 2024, 9:21:12 AM)

ttcn3-sgsn-test-sns: add missing symlink to osmo-stp.cfg

This commit fixes the following error:

cp osmo-stp.cfg /home/osmocom-build/jenkins/workspace/ttcn3-sgsn-test-sns/logs/stp/
cp: cannot stat 'osmo-stp.cfg': No such file or directory

Change-Id: Ie0f887dc68e89d2fa1f9a2ee8dfd7f8ce71fc329
Fixes: e4fdd72 "ttcn3-sgsn-test-sns: add missing symlink to osmo-stp.cfg"
Vadim Yanitskiy at

#1419 (Apr 24, 2024, 2:43:47 AM)

ttcn3-sgsn-test: add missing SGSN_Tests_NS.control

This does not enable the SNS testcases though.  We need a separate
job with its own configuration files for running the SNS testcases.

Change-Id: I605526dff6d3c0ec4c5dc58dc00ca51b4ccd68a7
Related: osmo-ttcn3-hacks.git Ib2bffbb110961474928f35d212cb492d4b6fdee0
Vadim Yanitskiy at
ttcn3-sgsn-test: add config files for running SNS testcases

Change-Id: I767ec223585002d6420eda27ed338722f764c902
Vadim Yanitskiy at

#1409 (Apr 19, 2024, 2:43:19 AM)

ttcn3-hnbgw: Apply latest changes to 'with-pfcp' scenario

Recent commits applied changes to the default scenario, but forgot to
apply them to the 'with-pfcp' subdir.

Fixes: 6de89a5fb529928ce9b7b3320e0ca2e3e568d458
Fixes: 3736d31fc0314cb5d39c707374eecdcfe33241c9
Fixes: 0bdbcd6815358a7b1c4b0bb4575a585c45a01e57
Fixes: 2c22a96355b8e057dbd85ac1922ae84cc63f8b1e
Fixes: d3711e67103691171d7ed3e224c050e78c1f5bc4
Change-Id: Ie02a0754a6ca985e60e08f1f171f532b6cc16264
Vadim Yanitskiy at

#1407 (Apr 18, 2024, 1:48:28 PM)

ttcn3-asterisk: Set Asterisk AMI IP address in Asterisk_Tests

The Asterisk_tests testsuite recently gained initial AMI support.
Configure it with the proper IP address.

Depends: osmo-ttcn3-hacks.git Change-Id I2c570e4d04e7ab8c44962cf484e4bbc946209aee
Change-Id: Ibb6af1cbfb652214b2fdd2a6eb9a4887c9a9cfb0
Pau Espin Pedrol at

#1402 (Apr 16, 2024, 9:18:28 PM)

ttcn3-hnbgw: osmo-hnbgw.cfg: Switch from deprecated 'mgcp' node to 'mgw'

Change-Id: Ie27dcae05fa719cd0eac9faa6e2fb6b63581ac28
Pau Espin Pedrol at
ttcn3-hnbgw: osmo-hnbgw.cfg: Enable color in log file

Change-Id: Iffd28619ca075e0cf870e10989cfced6096ca8d7
Pau Espin Pedrol at

#1400 (Apr 16, 2024, 4:16:08 PM)

ttcn3-asterisk: Configure AMI

Change-Id: I590d89e9173b0372611790d4178747e28a1215d1
Pau Espin Pedrol at
ttcn3-hnbgw: Set STATSVTY.CTRL_HOSTNAME to correct IP address

Also update osmo-hnbgw.cfg to configure statsd, as done in
osmo-ttcn3-hacks.git 904b5f1a56629b84f67807a75d5c0b356cc7d726.

Change-Id: I80c228b7ad4b9fb06b1651f23a2932bf19374297
Pau Espin Pedrol at

#1398 (Apr 16, 2024, 11:03:28 AM)

ttcn3-hnbgw: Set new mp_local_statsd_ip module paramter to correct IP addr

Depends: osmo-ttcn3-hacks.git Change-Id I213173c99ec314c2eebfb8836c4d3467b3a7f818
Change-Id: I16cddef5833bf2abff0edb82ec3eb9f6ce976364
Pau Espin Pedrol at

#1376 (Apr 6, 2024, 2:43:17 AM)

debian-bookworm-build: add libnftnl-dev

For osmo-hnbgw, osmo-upf.

Related: OS#6425
Change-Id: I5fdaa634d12bc6c8643c130a43d30e840890d572
Oliver Smith at
{open5gs,osmo-uecups}-latest: don't hardcode UID

Adjust open5gs-latest and osmo-uecups-latest to not hardcode a UID. This
is in preparation for creating a "build" user in
debian-bookworm-obs-latest, like we have it in debian-bookworm-build.

Change-Id: Icaebf46487056cea745805527fdc545d9a1846cd
Oliver Smith at
debian-bookworm-obs-latest: add build user

Copy the block for configuring the build user and disabling man pages
from debian-bookworm-build. This fixes failures on
ttcn3-ggsn-test-kernel-latest* (non-latest worked fine since these use
containers based on debian-bookworm-build).

Fixes: 5a48bfbe ("scripts/kernel-test: build initrd+kernel as user")
Change-Id: Idee29d5b9796e8905bdf822d076f25612cbc77a0
Oliver Smith at

#1373 (Apr 4, 2024, 2:43:18 AM)

debian-bookworm-build: add virtualenv

Fixes: OS#6430
Change-Id: I5d087b8edb9e77a5226df9e4f55e04480eea45dd
Oliver Smith at
scripts/kernel-test: do shallow fetch

Instead of fetching the entire history, only fetch the most recent
commit.

Change-Id: I92d90c1451ff6abff2df3b1318b5194880e77f2e
Oliver Smith at
kernel-test/kernel-build: update net-next branch

The branch of net-next is now called main. Update the default
KERNEL_BRANCH to main, as the default KERNEL_URL points to net-next.git.

Related: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/
Change-Id: Ic4b13c3cbc0933db9d520e6d737c45b6b08e8c48
Oliver Smith at
jenkins-common: fix_perms: chown files too

Ensure the user that runs docker owns files in cache and data dirs
during fix_perms, if an old job created them as root.

Change-Id: I43af48bd87e27abad5ad52e734256d78651f67c3
Oliver Smith at
scripts/kernel-test: put mknod commands in init.sh

Prepare to run the preparation without root rights.

Change-Id: I07648f058ca55515ffc7396598147a03dcfe7976
Oliver Smith at
scripts/kernel-test: build initrd+kernel as user

Refactor code to build the initramfs and kernel as user, instead of
running related code as root. Put the smoke_test.log into /tmp instead
of the cache dir, so we don't write as root into the cache dir. We cat
it on error anyway, so we don't need to have it in the workspace.

Change-Id: I1670dd86f2670f42eb99e4527d483965d8222402
Oliver Smith at

#1370 (Apr 2, 2024, 8:23:28 PM)

Introduce asterisk-master docker image

This Docker image allows building and running Asterisk from git.
Default config is to build the sysmocom fork used to develop new
features (hence pointing to sysmocom/master branch in that repo.

Related: SYS#6782
Change-Id: Iaa3816f8ceefac8956e61e15f79ed708dec55238
Pau Espin Pedrol at
Introduce ttcn3-asterisk-ims-ue-test

This dockerized setup allows running the Asterisk_Tests ttcn3 testsuite
against Asterisk from the asterisk-master docker image, in order to test
the IMS UE feature which will be developed soon.

Related: SYS#6782
Depends: osmo-ttcn3-hacks.git Change-Id I66f776d5df6fb5dc488d9e589b84a6b2385406e8
Change-Id: Idd262b9224ea879a6e941792944fe0b0db3e68ba
Pau Espin Pedrol at

#1369 (Apr 2, 2024, 8:25:05 AM)

*/osmo-bsc.cfg: BTS type 'sysmobts' (deprecated) -> osmo-bts

Change-Id: I98ea9e96d490473efbbe189842ed9f547060dc7d
Vadim Yanitskiy at
ttcn3-bsc-test-sccplite: osmo-bsc.cfg: remove deprecated 'mgw remote-ip'

Change-Id: Ie322315dd1608636002d4003e5f8629925041476
Vadim Yanitskiy at

#1358 (Mar 26, 2024, 6:18:30 PM)

ttcn3-bts-test: fix start_config_oml(): do not start BSC

As the comment states, the BSC container is not needed for the OML
tests.  The testsuite itself "speaks" OML to the IUT in this case.

Change-Id: Iab44b9ed83e917475c9e2e86ad32b303b05b2ace
Fixes: aad045f5 "ttcn3-bts-test: add env var to not run all configs"
Fixes: OS#6421
Vadim Yanitskiy at

#1356 (Mar 25, 2024, 5:38:28 PM)

ttcn3-bts-test: abort if missing osmo-config-merge

Change-Id: I9cea4affac0b3981c88078581a070f98649da667
Oliver Smith at
ttcn3-bts-test: use start_config functions

As suggested by Pau in code review, refactor the file to use functions
for starting the testsuites, SUT and related containers with specific
configurations.

Related: https://gerrit.osmocom.org/c/docker-playground/+/36389/comment/67a7c35e_766943a3/
Change-Id: If3cb7dbe585c03d21e5ec6353fd25575ccac7af0
Oliver Smith at
ttcn3-ggsn-test: ignore failure to kill osmo-ggsn

Don't fail if osmo-ggsn can't be killed at the end of a testsuite
run. This happens currently with ttcn3-ggsn-test-kernel-latest-* jobs,
in the v6_only configurations, because osmo-ggsn latest doesn't support
ipv6 yet and exits. The jenkins.sh should keep going and try other
combinations, and exit without error in the end.

Fixes: d8c51cce ("ttcn3-ggsn-test: run with multiple configurations")
Change-Id: I6f3154a9ef114f31bcb5868ee09d1ebc10f35d07
Oliver Smith at
ttcn3-*-test: set OSMO_SUT_{HOST,PORT} for more testsuites

Let's also retrieve talloc reports for these testsuites.

Change-Id: Iaa94dd200fdb98962b784cb507c9995096232dc9
Vadim Yanitskiy at

#1355 (Mar 25, 2024, 11:48:27 AM)

ttcn3-bts-test: add env var to not run all configs

Make it possible to e.g. run only one of the generic/oml/hopping
configurations.

I made a version of this patch a few weeks ago for testing OS#6375,
and I'm submitting it now so I can add multiple configurations for
ttcn3-ggsn-test in the next patch with the same logic.

Change-Id: I1dce5e6aa4b5d67f9f8c96ced611ab2875c353c8
Oliver Smith at
ttcn3-ggsn-test/jenkins: add functions for start ggsn/testsuite

Prepare to run start_ggsn and start_testsuite multiple times with
different configurations in a follow-up patch.

Related: OS#6096
Change-Id: I0754b0df5f1b0b162732c3db0797f65676553ab0
Oliver Smith at
ttcn3-ggsn-test: move confgs to subdirs

Prepare to add variations of the configs: move them to subdirs, so we
don't cullter the main directory.

Related: OS#6096
Change-Id: I03a06f9f516922c47e3092ff7d7c2c68b0852c1b
Oliver Smith at
ttcn3-ggsn-test: run with multiple configurations

The kernel ttcn3-ggsn-tests have been failing since the osmo-ggsn
config for kernel-gtp has been adjusted for v4v6 instead of v4 only.

This new configuration caused a regression with:
* linux kernel without Pablo's GTP IPv6 patches
* latest stable release of osmo-ggsn, which does not support IPv6

As the kernel patches aren't merged yet, this caused all tests to fail.

Avoid this by running the ttcn3-ggsn-test with multiple configurations:
* v4_only: one APN with v4
* v6_only: one APN with v6
* v4v6_only: one APN with v4v6
* all: multiple APNs with all of the above

With this change, the tests running in the v4_only configuration will
pass again with the stable versions of osmo-ggsn, libgtpnl and kernel.
And with new versions, most test in the other configurations will pass
too.

As discussed with Harald, this does not only split up the configuration
for osmo-ggsn with kernel gtp-u, but also with the userspace
implementation. The "all" config currently only works with the
userspace gtp implementation (OS#6106).

Related: OS#6096
Depends: osmo-ttcn3-hacks I6d94a8b18200fbb2119406827b74b83e912e3ecc
Fixes: e24442f9 ("ttcn3-ggsn-test: kernel-gtp: add ipv6")
Change-Id: Ia2fe0c3ed4ccf06e72fd258d085e4a79cecd5f26
Oliver Smith at

#1346 (Mar 20, 2024, 12:29:59 PM)

openbts-umts: fix apt: use archive.debian.org

This helps to get access to Debian 8 repositories in 2024.

Change-Id: Ia869476feeb67e2b3313b5d75ca01eaff41597ba
Vadim Yanitskiy at

#1341 (Mar 18, 2024, 4:43:28 PM)

debian-bookworm-build: add libbladerf-dev

Related: OS#6409
Change-Id: I3c3fe95d8ebb21f7691a491144885c7deb8049a5
Oliver Smith at

#1322 (Mar 7, 2024, 12:15:05 PM)

ttcn3-stp-test: enable M3UA-over-TCP testing for master

Change-Id: I210b7d62845075dcfe147f2f77603625cc1e64f9
Depends: osmo-ttcn3-hacks.git I5d0b05aa434c057ad379125ac293f5fc9a240b6f
Related: osmo-ttcn3-hacks.git I1e2a887aa22f317783b3207494fd707d7b426439
Related: SYS#5424
Vadim Yanitskiy at

#1313 (Mar 4, 2024, 7:15:03 PM)

ttcn3-ggsn-test: enable dynamic debug

Enable loglevel=8, as otherwise the messages do not show up.

Change-Id: I048646c4f90233939809546d30c94c4218eedbb1
Oliver Smith at
ttcn3-ggsn-test: tweak log options

Change-Id: I6c3095f4d3378d2026d3720bc32e27ce4c8345b3
Oliver Smith at
cosmetic: .txt file shouldn't have execute permissions set

Change-Id: Ib1e0a79b97ae1af07e206b3be7762cc805820ae1
laforge at
ttcn3-epdg: Set up params to get GTP-U echo working

Set the new module parameter added in the test.
Make sure the gtp_u_kmod osmo-epdg.config IP address is updated to the
proper docker network subnet.

Depends: osmo-ttcn3-hacks.git Change-Id I3fd96f212175959cb113d2f6a362c0e77e5ca0d7
Change-Id: I5cd9dcd6188227baed71823b0cbceb77dc771011
laforge at
ttcn3-epdg: Test GTP-U userplane

Set the assigned IP address for the UE in the EPDG docker container on
the eth0 interface. This way the emulated UPF (ttcn3) can test
decaps+encaps of osmo-epdg tun by pinging the UE IP address and
expecting a pong back.

Related: OS#6235
Change-Id: Icc5710b42e5a5374aade6b952e1c543565ffad2e
laforge at

#1312 (Mar 4, 2024, 10:25:19 AM)

scripts/kernel-test: add /dev/null

Some busybox programs need /dev/null, add it to the initramfs.

Change-Id: Ie583ae816b517c10d13d77aa45155fc4d1209c26
Oliver Smith at

#1301 (Feb 28, 2024, 6:13:31 PM)

ttcn3-pgw-test: Configure open5gs-smfd S2b/S6b/P-CSCF related bits

Depends: osmo-ttcn3-hacks.git Change-Id I38e469edf0e00feca5a648035b64645e2c905937
Change-Id: I3ff503990167f52ddb94a7719e2773db3f889a39
Pau Espin Pedrol at

#1300 (Feb 28, 2024, 12:58:28 PM)

ttcn3-ggsn-test: kernel-gtp: add ipv6

Related: OS#6096
Change-Id: If3549db216ff89bdb963744bb38015ad68d4cf6a
Oliver Smith at

#1291 (Feb 22, 2024, 4:23:28 PM)

ttcn3-epdg: Create tun with iface name gtp0

As done in the default/usual config.

Change-Id: I066c22a381ab85762c8ef247a5eb248f7adf6c71
Pau Espin Pedrol at
ttcn3-epdg: Give some time for osmo-epdg to start

erlang osmo-epdg is a bit slow starting up, and sometimes the first ttcn3
test may start when osmo-epdg is still not yet listening on the GSUP
socket, specially when the system is on high load.
Give some head time to make sure it is properly started.

Change-Id: I14e39db6548409b203e15fb562e0b44a90bd44cd
Pau Espin Pedrol at

#1288 (Feb 20, 2024, 2:43:21 AM)

ttcn3-ggsn-test/fragment.config: add NET_NS, VETH

Build the kernel with NET_NS and VETH, so libgtpnl's qemu tests can
download the kernel and use it.

Related: OS#1952
Related: libgtpnl Ibf75514b866fffb11e90529e4705f126b23d7415
Change-Id: I6e893b64718f853b8595de36c090a1326db34419
Oliver Smith at

#1283 (Feb 16, 2024, 12:23:26 AM)

epdg: Configure gtpu tunnel

Related: OS#6235
Change-Id: Ifeece08cdcceb378ae1e195cada5bfef54a1e2bd
Pau Espin Pedrol at

#1280 (Feb 13, 2024, 2:43:19 AM)

fixup: ttcn3-bts-test: do not start osmo-bts-virtual / virtphy containers

Change-Id: I9a38356be1f970a2b8f1bf51bfc220471502682f
Related: OS#6352
Vadim Yanitskiy at

#1276 (Feb 10, 2024, 2:43:21 AM)

ttcn3-bts-test: do not start osmo-bts-virtual / virtphy containers

We cannot execute the virtphy based testcases due to the limitations
of Docker (see https://github.com/moby/libnetwork/issues/2397).  The
function starting the testsuite was already commented out, but not
the lines starting containers with osmo-bts-virtual and virtphy.

To put it simple, we start and immediately terminate those containers.
And since recently (Feb 1st), we started seeing socket creation errors
in both containers, causing jenkins.sh to abort early.  It's yet
unclear what's the cause of those socket errors, but regardless of
that we should still be running other pending testcases.

Change-Id: I7c9ccc9cc400edb7a05e222e51671fd49631a4cd
Fixes: OS#6352
Vadim Yanitskiy at

#1248 (Jan 23, 2024, 2:43:20 AM)

ttcn3-epdg: Run osmo-epdg with CAP_NET_ADMIN

This will be needed since soon osmo-epdg will start creating tunnel
devices througth gtp_u_kmod, which requires CAP_NET_ADMIN, plus it will
need probably need to set up local IP addresses.

Change-Id: I48eea0e8d7969cc0a3ad2ed08f696decf064c474
Pau Espin Pedrol at

#1244 (Jan 20, 2024, 2:43:20 AM)

ttcn3-epdg: Add section to control logging

Similar as to what's defined in osmo-epdg.git/config/sys.config.

Change-Id: I7b9a3421b5f0f384324bb0f9b6de3fffdceaef53
Pau Espin Pedrol at

#1241 (Jan 18, 2024, 6:58:26 PM)

osmo-epdg-master: Remove rebar.lock to force build against updated dependencies

This way we notice when some dependency update breaks build, and
prevents running against old dependencies if developer forgot to update
rebar.lock.

Change-Id: Ia9112d641e80d1eddcddea1e54e4c135d6efcc5b
Pau Espin Pedrol at

#1238 (Jan 17, 2024, 3:53:27 PM)

ttcn3-epdg: Set new osmo-epdg diameter connect/wathdog configs

Depends: osmo-epdg.git Change-Id I99b5e02264c2c35a3fbfcd2d6083a07e2cfea566
Change-Id: I3632abb8b33d5f2636f443573196d73ea8d3c818
Pau Espin Pedrol at
ttcn3-epdg: Update renamed config fields

The config file fields have been renamed recently, update them.

Depends: osmo-epdg.git Change-Id I63fe4c7acc7460575a921b254adf066134c0527f
Change-Id: Ic9f2f33b8ffae7b4273e6fac8a42b6e9e1e38ed8
Pau Espin Pedrol at

#1229 (Jan 10, 2024, 4:09:41 PM)

debian-{buster,bullseye}-jenkins: Add python3-cryptography from debian

This avoids having to use rust to build the cryptography module
during pySim requirements.txt

Change-Id: I9246c9260b1d227ce6e290058caa33e04407d11f
laforge at
upgrade gerrit to 3.7.6

Change-Id: I6266b1dbfbad71aca95d45f812354f7336b8bd69
laforge at

#1227 (Jan 9, 2024, 3:58:29 PM)

ttcn3-msc-test: also execute ASCI (VBS/VGCS) testcases

These new testcases were added to osmo-ttcn3-hacks.git back in August
2023 (see the related patch), but have never been executed automatically
on Jenkins because the config file was not updated in this repo...

Change-Id: I9ec0a03658ead382eaaef175090cfc3650ffd9b7
Related: osmo-ttcn3-hacks.git I4bbe739ea55ecf9f7ebf9ee413df69f29aa642f8
Vadim Yanitskiy at

#1226 (Jan 9, 2024, 1:28:34 PM)

ttcn3-msc-test: set 'hlr' / 'ipa-name' explicitly

Old osmo-msc versions do not include the Source Name IE in SMS related
GSUP messages, unless it's set explicitly in the config file ('hlr' /
'ipa-name').  Recent osmo-msc versions (see the related osmo-msc patch)
do include this IE even if it's not set explicitly ('unnamed-MSC').

Because of this, some testcases in ttcn3-msc-test are currently
failing for osmo-msc master, but still passing for the -latest.

Let's set the 'ipa-name' explicitly in osmo-msc.cfg, so that we can
expect both -master and -latest to include the Source Name IE.

Change-Id: I7757aae1d01b679f530b5c0a6c95b224cb9f204f
Related: osmo-ttcn3-hacks.git Ic24d3082fe3dce08e43e8f3ecb6d6132503c55c6
Related: osmo-msc.git I7bacd001b81326c32bc262c7d0c0491ded822fa8
Related: OS#6135
Vadim Yanitskiy at

#1217 (Jan 4, 2024, 2:43:21 AM)

mme: Use LAC from SGSN with most significat bit set to 0

Adapt to the new default value used by ttcn3 tests.

Depends: osmo-ttcn3-hacks.git Change-Id Iaf89228f6f026e04d5f583211959025e6d8d4a1d
Change-Id: Ifefbd9bf2ed1bce8089e3dc4c6f9fe901e72308e
Pau Espin Pedrol at

#1211 (Jan 2, 2024, 11:04:55 AM)

ttcn3-mme: Set log level of open5gs-mmed to debug

INFO is in general not enough to debug tests.

Change-Id: Ic91571f0caf138dc2ac798d75b0600ad265473c3
Pau Espin Pedrol at

#1187 (Dec 15, 2023, 1:18:26 PM)

ttcn3-pcu-test: set PCUIFv12 for both -master and -latest

osmo-pcu v1.4.0 (recently tagged) now also speaks PCUIFv12.

Change-Id: If0b2209af645f391817f65b4227736b52ca59e2e
Related: OS#6191
Vadim Yanitskiy at
ttcn3-bts-test: set PCUIFv12 for both -master and -latest

osmo-bts v1.7.2 (recently tagged) now also speaks PCUIFv12.

Take a chance to fix ttcn3-bts-test-2023q1 by setting PCUIFv10.

Change-Id: I70f0c30d6c514614095dcbbcac5d025001861fbc
Vadim Yanitskiy at

#1163 (Nov 30, 2023, 2:40:12 AM)

ttcn3-pcu-test/sns: fix PCUIF version number

The current master of OsmoPCU is now using PCUIF version number 12.
However, the configuration file of the the SNS tests still sets it to
11.

Related: OS#6275
Change-Id: I0b37f01f4c7bb829053231339e39ab734f4c8cbc
pmaier@sysmocom.de at
Revert "ttcn3-pcu-test/sns: fix PCUIF version number"

Unfortunately this patch only fixes ttcn3-pcu-test-sns but it breaks
ttcn3-pcu-test-sns-latest, this means a different solution is needed.

This reverts commit c9820d7b36eb3f75c32d193394da46aad9406cb2.

Change-Id: I101d27ae8ed7449b199e49795a3561436c2532dd
Related: OS#6275
pmaier@sysmocom.de at
ttcn3-pcu-test/sns: fix PCUIF version number (follow up patch)

Unfortunately we had to revert [1] because it worked for current master
but not for latest. The mistake here was to change the PCUIF version
number in PCU_Tests.cfg to PCUIF v12. This is indeed the correct version
for current master, but latest still uses v11. Also the change we made in
jenkins-sns only affected 2023q1 builds, it does not affect latest. This
is the reason why the previous patch broke latest.

This follow up patch now copies the approach we already successfully use
with the normal ttcn3-pcu-test / ttcn3-pcu-test-latest. (see also
jenkins.sh)

[1] I0b37f01f4c7bb829053231339e39ab734f4c8cbc

Change-Id: I1f94a0459e35d7b5632c81d7f7e2e60eb0d0229f
Related: OS#6275
pmaier@sysmocom.de at

#1157 (Nov 25, 2023, 2:43:17 AM)

open5gs configs: remove comments

A lot of these comments got outdated with recent config changes
in the related PR. Instead of syncing the comments again and having a
big diff, remove the comments once and then only have diffs of
actual config changes in future patches. This will make it easier to
maintain these configs.

Related: https://github.com/open5gs/open5gs/pull/2739
Change-Id: I67c2a198b9682e15e23a466380e62a976e6236cd
Oliver Smith at
open5gs configs: duplicate cfgs for latest/master

The config format just changed significantly in main/master. Duplicate
the configs, so we can run latest with the old versions.

Related: OS#6267
Change-Id: I2446695172b92ccf75305f878cb932a82e44fdd2
Oliver Smith at
open5gs configs: update to current format

Adjust open5gs configs to the new formats from:
https://github.com/open5gs/open5gs/pull/2739

This fixes all open5gs programs from crashing on startup with various
errors such as:
  11/21 07:39:25.971: [core] FATAL: epoll_init: Assertion `context->epfd >= 0' failed. (../lib/core/ogs-epoll.c:77)

Related: OS#6267
Change-Id: Idf2706f3904eb06e94cee0728faa17e72a6cf1f6
Oliver Smith at

#1149 (Nov 21, 2023, 9:18:47 AM)

ttcn3-bts/pcu-test: Use PCUIF v12 for current master and PCUIF v11 for latest

At the moment we use PCUIF v11 in latest and in master. This will now
change (see Depends) so that we will have to use v12 in master. This
patch adds the necessary conditional config changes.

Depends: osmo-pcu.git I48eb75f65ab54fdec41ef913e24c1f18cd4a4047
Change-Id: I5c0914c0bf906b51a500a3b099578700798cf8c0
Related: OS#6191
pmaier@sysmocom.de at

#1142 (Nov 16, 2023, 2:43:20 AM)

Use 2023q1 osmo-ttcn3-hacks branch for 2023q1 SUTs

Fix the TTCN3-centos-pcu-test-2023q1 jenkins job where currently most
tests are failing. This is because 2023q1 is using an older PCUIF
version that is no longer supported by osmo-ttcn3-hacks.git. As
discussed, use a 2023q1 branch of osmo-ttcn3-hacks where the support was
not removed yet.

Fixes: SYS#6638
Change-Id: Id82425aca4a8ff87feb8a130d31712bc62fa27ed
laforge at

#1139 (Nov 14, 2023, 8:38:29 PM)

ttcn3-dia2gsup-test/osmo_dia2gsup: set connect timer to 200 ms

Related: OS#5657
Change-Id: I22839cdf76120bb6152b32059822001cbd7979d8
lynxis at

#1133 (Nov 9, 2023, 11:53:27 PM)

ttcn3-hnbgw-test: reduce X31 to 5s

Set X31 to 5s as expected by the testsuite to fix currently failing:
  - TC_ranap_cs_mo_disconnect
  - TC_ranap_ps_mo_disconnect

It was recently increased to 15s in the related patch.

Related: osmo-hnbgw I24225cfc0addf326c239ec658a27b93b83a3e751
Change-Id: I223d38e9ec2ca0f9f2ce2ac5311932789f328c9a
Oliver Smith at
ttcn3-hnbgw: Use new module param mp_hnbgw_timer_x31

Depends: osmo-ttcn3-hacks.git I176ef96e193f2ca39077bcee3a2187768ddb45ce
Change-Id: I98e1d4d649ea07b006a7d4c15f8d94a9b4b3de1d
Oliver Smith at

#1130 (Nov 7, 2023, 4:53:34 PM)

redmine: run 'apt upgrade' in Dockerfile to get glibc fix from Debian

https://lwn.net/ml/oss-security/20231003175031.GA16924@localhost.localdomain/

Change-Id: Ice5c5e86cd519446fc59c09d64b20836f998d384
laforge at
sigtran-tests: Add note on why this is still using buster

Change-Id: I403401be7e469085f9a82944b3eaa6b8c8ea6319
laforge at

#1110 (Oct 24, 2023, 9:38:27 PM)

ttcn3-epdg: Configure S6b interface

Configure the newly added S6b interface on both TTCN3 emulation code as
well as osmo-epdg.

Depends: osmo-ttcn3-hacks.git Change-Id Ia50698a3f6f5ed8251486b84c09f84edfd6d3951
Depends: osmo-epdg.git Change-Id Ia2b138317cb291a95882853f5403949c5e6a5a1b
Change-Id: I1145ee1068a2fdd2fe8d3e48b80c8e6c1fcb50ad
Pau Espin Pedrol at

#1108 (Oct 23, 2023, 2:48:30 PM)

ttcn3-epdg-test: Update config file to set up GTPv2C socket

Depends: osmo-epdg.git I6f00b7fce2d5fcdc484bfd45629b9141f16bc579
Depends: osmo-ttcn3-hacks.git I8f18c927b1897806233cc9d049c25694c1e639d4
Change-Id: I05ae2d87e16cef9772bc5c3690f687e5ecbd5f51
Pau Espin Pedrol at

#1101 (Oct 20, 2023, 2:43:24 AM)

Introduce osmo-epdg-master

Related: OS#6204
Change-Id: Iefc43ffa47f443f2826b8979d4dd0c5542dda1c5
Pau Espin Pedrol at
Introduce ttcn3-epdg-test

Change-Id: I77a4d66c1bd0236dee8fc54e03a9d6bf8d63f204
Pau Espin Pedrol at

#1094 (Oct 17, 2023, 2:44:28 AM)

common/ttcn3-docker-run.sh: add TEST_NAME env var

Make it possible to run only one test by setting an environment
variable.

Change-Id: I1f45a05e089b429918096fcd64f7c02033d5a9dd
Oliver Smith at
debian-bookworm-erlang: use debian's rebar3

Use debian's version of rebar3 instead of downloading a binary. This
was useful when the container was based on debian 11 where rebar3
wasn't in debian's repositories. Debian 12 has version 3.19.0.

This also solves a caching problem on one of the jenkins nodes, which
currently fails at this line:
  ADD  https://github.com/erlang/rebar3/archive/refs/tags/${REBAR3_VERSION}.tar.gz /tmp/rebar3.tar.gz
with:
  ERROR: failed to solve: failed to load cache key: invalid not-modified ETag: "fce57989250a021a2be5fe5eddd655d6d415eef04f769bf1437f3d6dddfa5559"

My understanding is that docker has cached an ETag that is no longer
valid / maybe the format changed - and instead of simply requesting the
file again, it just fails there.

Related: https://en.wikipedia.org/wiki/HTTP_ETag
Change-Id: I69e02d004a0bd6f9d3a462f4e184b3e9361cc7fe
Oliver Smith at

#1092 (Oct 15, 2023, 9:48:29 PM)

open5gs-latest: Support debian bookworm

The open5gs Debian_12 is available since today [1]; hence starting using
debian 12 now.

[1] https://github.com/open5gs/open5gs/issues/2669
Related: SYS#6588
Change-Id: Ib11a55294b525e3c3806246b133f8e479554a068
Pau Espin Pedrol at
Introduce ttcn3-hss-test-ogs

Related: SYS#6588
Depends: osmo-ttcn3-hacks.git Ic2fccd9c54aea04f1a31649a0af47c974939fb2f
Change-Id: Iebeefd9689ae2efa54678b99ff929ca255ec64d1
Pau Espin Pedrol at
ttcn3-hss-test-ogs: Adapt mongodb db setup to pass new test

Add DB config for new subscriber required by TC_ulr_ula_subscr_op_det_barring_7.

Depends: osmo-ttcn3-hacks.git I8deea9e284447f8991bdeced982c14fae2f211c5
Related: SYS#6588
Change-Id: I42d6af42bada50c55914ec94c4090fccbe8d1c97
Pau Espin Pedrol at

#1087 (Oct 13, 2023, 2:44:32 AM)

debian-bookworm-titan: add ccache

Add ccache, so it can be used when rebuilding the testsuite from source
from a development branch. Ccache is not used by default.

Related: osmo-dev I800062d0379295a6905851db29e820ff16217653
Change-Id: I94d22b8da9f897974c5913b2a8138c653c215446
Oliver Smith at

#1085 (Oct 11, 2023, 2:43:18 AM)

ttcn3-pcu-test: use PFUIF v10 for 2023q1

Change-Id: Iae895240276fa68bfd9fdb2e13358a3a7fb65f59
Oliver Smith at
open5gs-master: Fix indentation

Use tabs everywhere, as usual with other Dockerfiles (eg.
open5gs-latest).

Change-Id: Ie4e72f484797ada718915e837cd38be574136631
Pau Espin Pedrol at
open5gs-master: Install open5gs-dbctl to /usr/bin

meson install doesn't install that file because it's aimed at
developers. However, debian package does install it manually in
debian/open5gs-common.install.
Hence, the app is available in open5gs-latest docker image, but not in
open5gs-master. Manually copy it to /usr/bin to have both behave the
same in this aspect.

Related: SYS#6588
Change-Id: I54a760d04e6522d843e6d65b94ef6067e502fbaa
Pau Espin Pedrol at
open5gs-master: Make mongodb available in the image

The open5gs-latest image installs mongodb, but the master one doesn't.
Having a mongodb image is required to run together with open5gs-hssd.

Related: SYS#6588
Change-Id: Id6dde5f54b666279c102eb14fabb87194192c9e4
Pau Espin Pedrol at

#1078 (Oct 6, 2023, 2:43:20 AM)

Fix osmo_dia2gsup-master not pulling in debian-bookworm-erlang dep image

Change-Id: I8d9bd77bbfac14a9951a549a21ee6bc4ea7b267a
Pau Espin Pedrol at

#1069 (Sep 30, 2023, 2:43:17 AM)

make/Makefile: update DISTRO, UPSTREAM_DISTRO

Update the Makefile, so it does not pick the wrong base distribution
when running make in e.g. osmo-bsc-master directly (without going
through ttcn3-*/jenkins.sh as jenkins does).

Change-Id: I31b2a1b8c70b973f4ec0f93d6e9e5e417afec994
Oliver Smith at

#1049 (Sep 21, 2023, 8:38:27 PM)

ttcn3-mme: Fix missing IP/port config for S11 interface

This fixes failure when running MME_Tests.TC_s1ap_attach

Depends: osmo-ttcn3-hacks.git Change-Id Ia94f50a11292a83dcbd2da8d6df608ef71842b50
Change-Id: I941da52a4d9e10d954a44f32680cf8e8f7a8086a
Pau Espin Pedrol at

#1036 (Sep 14, 2023, 12:43:46 AM)

ttcn3-bts: Use PCUIF v11

Since osmo-bts 1.7.0 which was just released, PCUIF v11 is supported, so
use it both in master and latest.

Change-Id: I6c905d074ffc324dd72d6a5c9ce79f3c241ac780
laforge at
ttcn3-hnbgw: Update config files for latest after osmo-hnbgw new release

Change-Id: Id184686ba50ec07532b2f11cc9513626f66ed94c
laforge at

#1019 (Sep 3, 2023, 12:43:19 AM)

gerrit: update to 3.6.6

Change-Id: I3935d1c6ac671e4c2ba2db685c9ddf75d77ab7f1
laforge at
gerrit: upgrade to 3.7.4

Change-Id: Ie96b0fabd39248d3f20b073b51d163004ae3dd8a
laforge at

#1014 (Aug 31, 2023, 11:53:25 AM)

ttcn3-dia2gsup: Avoid retrieving unexisting talloc report

The OSMO_SUT_{HOST,PORT} envvars are used to trigger retrieving of
talloc reportes from the VTY port in osmo-ttcn3-hacks.git
ttcn3-tcpdump-stop.sh.
osmo_dia2gsup is an erland app and hence it makes no sense trying to
retrieve such information.

Change-Id: I6ee3fa83758e09898d1cd05bf15bc3428e2ffd11
Pau Espin Pedrol at

#1006 (Aug 29, 2023, 10:38:28 AM)

dia2gsup: Fix logfile name

Change-Id: I26e480ee8358476dcda72d51c3d135a0806ca82b
Pau Espin Pedrol at

#1005 (Aug 29, 2023, 12:43:19 AM)

debian-bookworm-build: add curl

Add curl, as required by the coverity job to submit the API request.

Change-Id: I70eb2b94d0eda4b371d674e1087b4dc13397dcdf
Oliver Smith at
debian-*-erlang: Install libsctp to enable sctp support in erlang apps

The current "--enable-sctp" flag when building erlang consists of
supporting SCTP if the libsctp library is found at runtime, by
dynamically linking to it only when SCTP features are requested.

The erlang package in debian only lists libsctp as a Build-Depends, but
it is not installed by default, so apps wishing to use SCTP will fail:
"""
[error] CRASH REPORT Process <0.155.0> with 0 neighbours crashed with reason: no match of right hand value {error,{shutdown,{open,eprotonosupport}
"""

Installing the libsctp library fixes the issue.

Related: OS#5757
Change-Id: I5ca332f9064c16491116608577b3f68379d840e6
Pau Espin Pedrol at
Introduce osmo-dia2gsup-master, ttcn3-dia2gsup-test

- Add a docker container to run osmo_dia2gsup from git master.
- Add infrastructure to run the osmo-dia2gsup container against
  osmo-ttcn3-hacks.git/dia2gsup testsuite.

Related: OS#5757
Change-Id: I646096d5a010df02af75aefa33b023b55997a6d7
Pau Espin Pedrol at

#999 (Aug 25, 2023, 1:23:26 PM)

debian-bookworm-build: add libnftables-dev

Add libnftables-dev, which is needed for osmo-upf. This is required to
move the coverity jenkins job to use this docker container.

Order the list alphabetically again while at it.

Change-Id: I25862a7e3c8a73e13fd4a9237ab57500d8dfc95c
Oliver Smith at

#991 (Aug 22, 2023, 10:38:27 AM)

debian-bookworm-build: inkscape -> librsvg2-bin

Merge at the same time as the osmo-gsm-manuals patch.

Depends: osmo-gsm-manuals I0d132f8f6fd73fbe14b5bfa10a8659acaddf38f7
Change-Id: I012c61eb777e6dc267dd4a52500da98c01ac1438
Oliver Smith at
fpga-build: use debian-bookworm-build

* Remove code that is in debian-bookworm-build already (all packages
  that get installed, creating the build user, installing osmo-ci and
  osmo-gsm-manuals).
* Put toolchain installations in single RUN commands, so the unextracted
  tarballs are not stored in image layers.

Related: OS#6057
Change-Id: Iaaca6367b76a6ec860c63d57c767954f82edfee5
Oliver Smith at
release-tarball-build-dist: remove

Remove the container, as the job has been rewritten to not require its
own docker container anymore, see the osmo-ci patch.

Depends: osmo-ci I9f8b671b9780da500637a64fc4dbc72b450f9d11
Change-Id: Ic35a28a386170b85d32aab8f2bd33e48e6d45392
Oliver Smith at
Cosmetic: debian-buster-jenkins: update comment

Related: OS#6126
Change-Id: I15be64a662e97e7e819abeda1c6c955d8198176c
Oliver Smith at

#978 (Aug 15, 2023, 12:43:17 AM)

debian-bookworm-build{,-arm}: fix temp dir removal

Change-Id: I6a0e0869986550ddfa710dfc15d7e78d8974dbc5
Oliver Smith at
ttcn3-mme-test-ogs: configure Gn interface

The Gn interface is not configured yet, hence TC_gn_echo_request fails.

Related: OS#5760
Change-Id: Ia89a137103f558ae96e269c935fabe80bb2e2884
pmaier@sysmocom.de at
hnbgw: adjust cfg for cnpool tests

Config changes matching cnpool tests added in osmo-ttcn3-hacks, see
'Related'.

Keep a copy of the old config files named "-legacy", to not break the
'latest' tests, because osmo-hnbgw 'latest' does not yet support the new
config options.

Depends: osmo-ttcn3-hacks I027a059faed3f140f8801f84338956cd004043b5
Change-Id: I94aa0b2adfc48b98cb4b1efe595c2432fc603d6c
Neels Hofmeyr at
hnbgw: fixup for cnpool: bind CTRL to 0.0.0.0

Change-Id: Ia71688f5468b3eabdead2996cc1470e467b9c10b
Neels Hofmeyr at
hnbgw-latest: fixup for cnpool: use correct cfg file name

Change-Id: I40c2aca069114f9a07840eed11e608921ed65d26
Neels Hofmeyr at
hnbgw-latest: fixup for cnpool: use correct osmo-stp.cfg file name

Change-Id: I80ecfc694adb1cb44dddec30e845237676a4eead
Neels Hofmeyr at
hnbgw: tweak log

Change-Id: I974272b800bad4efc277d9832357e9caf34e2dd8
Neels Hofmeyr at
hnbgw: fixup for cnpool: re-add lost MGCP cfg

Change-Id: I3491e2f9a675b737c12d84484f6d0219e8db0900
Neels Hofmeyr at
hnbgw: fixup: adjust with-pfcp cfg like without-pfcp

Change-Id: Ice5aa8a6db512edad3535a55c5dba841670837ec
Neels Hofmeyr at
hnbgw: fixup for cnpool: fix ASP IP addresses in osmo-stp.cfg

Change-Id: Ib6175eee69a7f37f987f996049351b9e1a545f58
Neels Hofmeyr at
ttcn3-hnbgw-latest: fixup for cnpool: bind CTRL to 0.0.0.0

Change-Id: I70c8d8fc61830cb46dcc580b7e344425f7c6c26d
Neels Hofmeyr at
hnbgw: fixup: with-pfcp cfg: set missing x26 timer

Change-Id: Id9af3f99dedcc04424793560b171e595b88af0d7
Neels Hofmeyr at
hnbgw: fixup: with-pfcp cfg: missing 'pfcp' section

Change-Id: I02be7c857d7dbf032bcadbea0812af732d27784f
Neels Hofmeyr at
debian-bookworm-titan{,-master}: new containers

Add new containers based on debian-bookworm. Make some improvements
over the bullseye containers while at it:
* Remove sed for cversion.h, as the #error it is trying to replace is a
  warning now so it is a no-op, and we use our own eclipse-titan package
  instead of debian's package.
* Make apt commands consistent
* Move commands around to make better use of the cache
* Clone osmo-python-tests from gerrit instead of gitea and invalidate
  cache when master changes
* Tweak comments

Related: OS#6057
Change-Id: I4415fcde6518bd26d1e2cb5785ddaf84ac2116b3
Oliver Smith at
ttcn3: use debian-bookworm-titan

Related: OS#6057
Change-Id: I2017dd3888670c475b96e692d911a433484f3df9
Oliver Smith at

#944 (Jul 25, 2023, 3:37:36 PM)

ttcn3-hnbgw: fix disabling talloc report checks for hnbgw-latest

Older commit disabled the talloc report checks but forgot to add the
same line to the with-pfcp/ variant, and as a result the sed command in
jenkins.sh won't work there.

Fixes: cb4897e4c09f7213c929dfd85f1657d697e6bf3d
Change-Id: Id4eed548b3a552747e95784be3654952e10e96ab
Pau Espin Pedrol at
osmo-uecups-master: make osmocom user avilable

Bring back the osmocom user that was removed earlier to fix a UID
conflict with the build user.

The osmocom user is being used after all, the TTCN-3 PGW tests use it to
start commands as "osmocom" user in osmo-uecups-master. This lead to e.g.
PGW_Tests.TC_createSession_ping4 failing.

Rename the user instead of adding a new one, so it can write log files
to the log dir as the same UID as the user that runs docker.

Fixes: 94f8a8 ("osmo-uecups-master: remove useradd")
Related: OS#6057
Change-Id: I2b29d7fedcf3e0a4c17bfbad16077098f94c529b
laforge at
debian-bullseye-titan-*/Dockerfile: Replace inetutils-ping with iputils-ping

iCurrently we install inetutils-ping in some docker images and
iputils-ping in others; let's make it more uniform to avoid running
different implementations in different images.
The iputils-ping provides further linux-specific features, such as the
"-I interface" param, which is used by some images, so let's pick that
one everywhere.

Change-Id: If11a1c2ae1115b585b6a44a45e9569c16856d8c4
laforge at

#937 (Jul 22, 2023, 12:43:17 AM)

open5gs-master: useradd: don't hardcode uid

Give the user that runs open5gs a different UID than the build user from
the debian-bookworm-build container.

Fix for:
useradd: UID 1000 is not unique

Related: OS#6057
Change-Id: I49051e038740cfccbb11ad33a1884bb7de318710
Oliver Smith at
open5gs-master: drop unknown option metrics_impl

The metrics_impl option has been dropped in the related commit as
prometheus is now the default in open5gs. With newer meson, unknown
options are treated as errors (used to be warnings before).

Fix for:
ERROR: Unknown options: "metrics_impl"

Related: OS#6057
Related: https://github.com/open5gs/open5gs/commit/982ac61894ba5ac7b532661773df0cae859bb4f1
Change-Id: Ib859ef7389928019addecae08df2011eecda80ad
Oliver Smith at
scripts/kernel-test: add KERNEL_SKIP_REBUILD

Speed up local test cycles by not building the kernel again from source
if not needed.

Change-Id: Iaa401918d7c09ec92ec546071d8961e99a4cbb47
Oliver Smith at
scripts/kernel-test: add KERNEL_SKIP_SMOKE_TEST

Speed up local test cycles by not running the smoke test every time.

Change-Id: I505b74e8c9b221655a97c5464f6fe4f21204a894
Oliver Smith at
kernel_test_prepare: use $DOCKER_ARGS

Use $DOCKER_ARGS in the docker run call to kernel-test/prepare.sh, which
builds the initramfs. I use this to make a local build of osmo-ggsn +
depends available in the docker container in /usr/local with the
ttcn3.sh script in osmo-dev.git.

Change-Id: Ie2500fa1bd9d57e2531463ce93fdd9930ad829d3
Oliver Smith at

#934 (Jul 20, 2023, 8:49:49 AM)

open5gs-master: use DISTRO variable

Instead of hardcoding bullseye, use the DISTRO variable so it now
defaults to bookworm.

Related: OS#6057
Change-Id: Ia392de80ee1f0844563f08a6dc775678ef6b263f
Oliver Smith at

#932 (Jul 19, 2023, 12:43:17 AM)

Cosmetic: ttcn3-ggsn-test: env vars -> README

Prepare to add more kernel related env vars. Instead of duplicating the
descriptions here, point to the README file.

Change-Id: I324f12930c5521e29312b309d6344ed5ffbd2581
Oliver Smith at

#931 (Jul 18, 2023, 1:33:27 PM)

osmo-uecups-master: remove useradd

debian-bookworm-build already adds a user (as it is a combination of
debian-bullseye-build and debian-bullseye-jenkins, and the latter did
it). Remove the additional useradd in osmo-uecups-master to fix:

useradd: UID 1000 is not unique

I've looked through related configs and scripts and the username is not
hardcoded there.

Related: OS#6057
Change-Id: I28f2a110167f550e1b38332ed4e7124b9e76f312
Oliver Smith at
scripts/kernel-test: adjust to usr-merge

In debian bookworm, the /usr merge has been implemented:

  /bin → /usr/bin
  /sbin → /usr/sbin
  /lib → /usr/lib
  /lib64 → /usr/lib64

The initramfs filesystem layout is derived from the paths of the
binaries and libraries in the full system. Create the same symlinks and
adjust initrd_add_bin so it does not trip over the symlinks.

I've also considered to change all input for initrd_add_bin to point at
the /usr/… paths. But this is not possible, for example ldd/lddtree will
point at libraries in /lib and /lib64, and this gets passed to
initrd_add_bin.

Without this patch, the init script and all binaries called from it
cannot be executed.

Related: OS#6057
Related: https://wiki.debian.org/UsrMerge
Change-Id: I975d3af0fa88869688673936a08189de800fba29
Oliver Smith at
scripts/kernel-test/run-qemu: set init=/init

Set init= so the kernel doesn't try to run other scripts if /init
fails:

[    2.946381] Run /init as init process
[    2.948885] Failed to execute /init (error -2)
[    2.949051] Run /sbin/init as init process
[    2.949329] Run /etc/init as init process
[    2.949566] Run /bin/init as init process
[    2.949795] Run /bin/sh as init process

Change-Id: I063c7625acaa15130d8361d4e944c3773c9b37c4
Oliver Smith at
scripts/kernel-test/run-qemu: update qemu args

Fix these warnings:

warning: short-form boolean option 'server' deprecated
warning: short-form boolean option 'nowait' deprecated

Change-Id: Iba84d8e61c2d9cbd687d803066db0c04aca9f805
Oliver Smith at
scripts/kernel-test: fixup for initrd_add_file

The previous versions happened to work too in my testing with
osmo-ggsn. Use the correct loop variable.

Fixes: 0660fc4e ("scripts/kernel-test: adjust to usr-merge")
Change-Id: I0c0ca91116a8cd156b185bb53512371bbcb76515
Oliver Smith at
hnbgw: Skip asn1 talloc mem checks in osmo-hnbgw-latest

Depends: osmo-ttcn3-hacks.git Change-Id I5c18cf2d6797bcf0bef13d71ab0b69f1403b474f
Change-Id: I1a933795ffef3cea97fcf34b1c513e71f3256c83
Pau Espin Pedrol at

#927 (Jul 17, 2023, 12:38:29 PM)

debian-bookworm-build(-arm): new docker containers

Create debian bookworm (12) based containers for building all Osmocom
projects in master/gerrit/ttcn3 jenkins jobs.

This is a combination of debian-bullseye-build (ttcn3) and
debian-bullseye-jenkins(-arm) (master/gerrit), which were used for this
purpose but had several differences. Combining them solves the
following problems:
* The naming was confusing, as both the -jenkins and -build containers
   were used in jenkins and were used to build the Osmocom stack.
* This lead to adding the dependencies to the wrong containers / not
   adding them to both containers.
* Now we are sure that if a program builds from source in the master
   and gerrit verifications, it will also build in the ttcn3 jobs.

Other notable changes from the debian 11 containers:
* Python2 is finally gone (OS#5950, for the few projects that still
   need it like openbsc, I'll use debian 11 for the jenkins jobs)
* Removed osc and git-buildpackage, now that OBS package building is
   done in different docker containers (see osmo-ci/scripts/obs)
* Combined multiple RUN commands into one as they the image build
   down, used set -x to display what commands run exactly
* Use UID variable instead of hardcoding 1000
* Optimized order of commands, so e.g. the LLVM for Arm that we will
   rarely change gets installed/cached before the big list of apt pkgs
* Replaced old git.osmocom.org urls
* Removed apt-get upgrade; the base image will get upgraded from time
   to time, no need to upgrade within the image
* Add --depth=1 option to git clones and remove temporary git clones
* Removed generating locales code, it was only done by one of the two
   images and I couldn't find in the git log why we would need this (if
   we do need it we can add it back later)

The following patches add more debian bookworm containers and have
similar improvements.

Related: OS#6057
Change-Id: I49aaf62b5b97775f923453611df3b91354a640a0
laforge at
debian-bookworm-erlang: new docker container

Related: OS#6057
Change-Id: I797ec0e6700860be8fb59bf6b1fab6fa44e53421
laforge at
debian-bookworm-obs-latest: new container

Related: OS#6057
Change-Id: Ie30135362e37558010f9894bb80a3684786f5aee
laforge at
jenkins-common: add + set default: debian bookworm

Related: OS#6057
Change-Id: I37e5393398f17c5c8809e17bb363fa86d769f2c2
Oliver Smith at

#922 (Jul 14, 2023, 12:43:18 AM)

adjust HNBGW_Tests.cfg to changed HNBGW_Tests.ttcn

Fix current jenkins test breakage:

Adjust HNBGW_Tests.cfg after changes to osmo-ttcn3-hacks in
"hnbgw: prepare cn pool: add multiple MSCs and SGSNs"
Ia29565cabc072de9aa46565b57232e1eda65874f

Change-Id: I912e8ad1f528d0d726b778a02a0f54c77b298f54
Neels Hofmeyr at

#916 (Jul 11, 2023, 2:59:47 PM)

MME_Tests: add docker tests for MME

an MME testsuite exists in osmo-ttcn3-hacks but it is not executed in
docker yet.

Related: OS#5760
Change-Id: Ic1ce1dace47353b0dcf321c923a78567e3ddefb9
Pau Espin Pedrol at
debian-bullseye-jenkins: add libcdk5-dev

Prepare for osmo-bsc I8b3d5efb769437a5d3036e1e627b8d477275d93e where
jenkins.sh will explicitly build meas_vis and configure.ac will stop if
libcdk5-dev is not installed.

Currently meas_vis only gets built if libcdk5-dev is installed, meaning
right now it doesn't get built by the jenkins verification and
master-build jobs (only by the debian package build verification).

Related: OS#5173
Change-Id: I015b6d7cb834e99ea5d04206ba5f8c519c4e6af1
Oliver Smith at
Install  liburing-dev in jenkins and build containers

Change-Id: I048c43d3bcbecfdfd26e087109fb99315e1629ec
laforge at

#907 (Jul 10, 2023, 12:43:17 AM)

ttcn3-bts-test/jenkins.sh: set mp_pcuif_version

OsmoBTS currently uses PCUIF v.10 but will move to v.11 soon. (see
Depends). Unfortuantely this means that we have to execute the TTCN3
testsuite in master with PCUIF v.11 and in latest with PCUIF v.10. This
will be the case until the current master becomes the new latest on the
next release.

Depends: osmo-bts.git I25816ac12e63cc6b641eb414e6bc7eaa9c85fc25
Depends: osmo-ttcn3-hacks.git I08de02e951e10bc8b4381cc2ad32e63f2747e3c4
Change-Id: Ia28bc0d6d3cbfe63be19443db86631fb67bb80fb
Related: OS#5927
laforge at

#901 (Jul 6, 2023, 12:43:20 AM)

redmine: fix auto-scan of repositories

While inspecting the running docker container I found that the script
already runs as redmine user. I had assumed that it runs as root
earlier. Running 'su' as redmine user fails, therefore it currently does
not run the fetch_changesets command.

Related: OS#6083
Change-Id: I195311b93868eb5fd73ad6e3c165d48f3b7b53ce
Oliver Smith at
*/osmo-stp.cfg: Explicitly define role & sctp-role

It was recently decided it's a good practice to always specify the role
and sctp-role for all ASPs configured in the VTY, since it's an
important configuration providing feedback on the network setup
expectancies.

Change-Id: Ia495bc3c5dd4421e5730c74b2f5dc4e4cdc1a673
Pau Espin Pedrol at

#875 (Jun 20, 2023, 1:23:25 PM)

ttcn3-bts-test: fix config merge caching problem

Do "docker run" directly inside the Makefile, without wrapping it
through the "run" target in make/Makefile. Use $(USER)/ttcn3-bts-test as
image name, instead of $(REGISTRY)/$(USER)/ttcn3-bts-test. The
$(REGISTRY)/ part is hardcoded in make/Makefile.

This fixes TTCN3-centos-bts-test, because it uses the ttcn3-bts-test
image that gets built in jenkins.sh before running 'make cfg'. Without
the patch, an image downloaded some time ago from the registry gets
used (a new image is not pulled), leading to the stale config.

Fixes: OS#6065
Change-Id: Iebd81e814d84e8cf8360568419ceda7ffc38e742
Oliver Smith at

#852 (Jun 8, 2023, 7:28:26 PM)

Explicitly configure ASPs asp-clnt-* as role=asp & sctp-role=client

Until recently, the asp-clnt-* ASPs, which have specific handling in osmo_sccp_simple_client_on_ss7_id(),
were being always forcedly set to sctp-role CLIENT by code in that
function.
This prevented user of that API from explicitly configuring the ASP as
"sctp-role server" through the VTY as the option would be overwritten silently.

Now, the sctp-role from config is followed if the ASP is
defined/configured through the VTY (not dynamically created at the time
osmo_sccp_simple_client_on_ss7_id() is called).

Since the default for a VTY-specified ASP is to be in "sctp-role
server", the config files need to be updated to properly configure the
ASP to be in "sctp-role client", which is the desired mode here.

Same applies for "role", where the default is SG but it is actually used
as "ASP" here.

Change-Id: Idf84502ffa199926a5f0ee616313b515743811ab
Depends: osmo-ttcn3-hacks.git Change-Id I4eb5b5f6b4b24df079b4c74e2a2e2ebb8769b0bd
Pau Espin Pedrol at

#773 (Apr 23, 2023, 12:43:17 AM)

stp: Expand osmo-stp.cfg for "norctx" tests

In osmo-ttcn3-hacks.git I81052ece7d1cc8b43da6155356ed1c4d9620acdc
we're adding support for so-called "norctrx"tests, covering
operation without routing-context IEs.  For this, we need additional
AS/ASP definitions in the osmo-stp.cfg

Change-Id: Ie00d96d04dd36c71c79f3b73713c3fe1c26a5145
Related: OS#6003
laforge at

#765 (Apr 18, 2023, 10:03:26 AM)

ttcn3-ggsn: Speed up tests by lowering retransmission T3,N3 timers

Every test needs to wait for T3*N3 seconds before exiting in order to
make sure the queues waiting for duplicates are cleared, otherwise state
from previous state may affect next tests.
Since 1.10.0, osmo-ggsn supports having those timers changed through
VTY. Let's set them to a lower value than default specified by spec, in
order to speed up each test 15 seconds -> 2 seconds.

Only ttcn3-ggsn (against osmo-ggsn) and not ttcn3-ggsn-ogs (against
open5gs-smfd) is updated, since the later doesn't support changing the
default timer values using the config files yet.

Related: OS#5485
Change-Id: Ica346bd791a67b72fad597702d750383e8ac5895
Pau Espin Pedrol at

#746 (Apr 6, 2023, 12:44:40 AM)

debian-bullseye-jenkins: add iproute2

Add iproute2 to make "ss" available. It is used in the openbsc testsuite
to dump socket statistics. If it isn't available, it does not cause
tests to fail, but prints an error message that looks like it might be
the real cause for the test failures:

  > ss -tn
  /bin/sh: 1: ss: not found

I've also asked Harald if we should just retire the master-openbsc job,
but we want to keep it around to ensure new libosmocore builds with this
old codebase.

Change-Id: I306caeda9bcd4020734eb3b343420c8115958ded
Oliver Smith at

#733 (Mar 27, 2023, 12:13:30 PM)

ttcn3-bts-test: enable running GPRS related tests with trxcon

Change-Id: I06ad8e6403e2538c64d650f19a8d0bd4a344edbe
Depends: osmo-ttcn3-hacks.git Ib8f4459480bbe12584a6fa71882f745f03c5055d
Related: osmocom-bb.git I9567d64f9d00262e36147e8d7e541e5e246bda5f
Related: OS#5500
Vadim Yanitskiy at

#726 (Mar 22, 2023, 12:13:27 PM)

debian-bullseye-jenkins: sync with buster-jenkins

Prepare to let jenkins master-builds use debian-bullseye-jenkins
instead of debian-buster-jenkins. Add almost everything from the buster
Dockerfile to the bullseye Dockerfile that is not there, except for:
dh-systemd (not available in debian11)

Also add python2, as some projects still require it to run tests
(OS#5950).

Related: OS#5949
Change-Id: I51925d0ab9e5a779379efab59c381ef12fb60929
Oliver Smith at
debian-bullseye-jenkins-arm: add new container

Add a bullseye based container that can be used instead of
debian-buster-jenkins-arm. The master-builds jenkins jobs will attempt
to use this jenkins job for the arm builds after setting the main
default image from debian-buster-jenkins to debian-bullseye-jenkins.

Related: OS#5949
Change-Id: I8e1741f86ffb8abd658d1e4e0415dfd11fb1a8a1
Oliver Smith at

#723 (Mar 21, 2023, 12:43:19 AM)

README: add example: nightlies from different date

Change-Id: I1b21c90b13a11aa1e51ea337207775c729709676
Oliver Smith at

#720 (Mar 18, 2023, 12:43:18 AM)

debian-buster-jenkins: add ghostscript

Add the ghostscript package, it contains ps2pdf which is now used in
osmo-gsm-manuals to shrink pdfs.

Related: SYS#6380
Change-Id: If7b30d0c948604211f4f5242aca8564c310a6ce3
Oliver Smith at

#702 (Mar 8, 2023, 12:43:19 AM)

docker kill: wait until containers are stopped

As "docker kill" / "docker container kill" (alias) doesn't block until
the given container stops, make sure to always run "docker wait"
afterwards.

Closes: OS#5928
Change-Id: I0242ece96541d8036ebbf8b0f498ebf231db26b5
Oliver Smith at

#693 (Mar 2, 2023, 2:04:59 PM)

Introduce debian-bullseye-titan-master

This Dockerfile allows building a given repo and branch of
titan.core.git which can then be used by any ttcn-*-test/ environment by
simply changing its Dockerfile "FROM" line from
$REGISTRY/$USER/debian-bullseye-titan to
$REGISTRY/$USER/debian-bullseye-titan-mater.

This is useful to debug or develop titan.core or test whether a given
testsuite works fine with a newer version of titan.core.

Change-Id: I19ee98a319ccad167d06c4f183fe80ecac909483
Pau Espin Pedrol at

#689 (Feb 28, 2023, 12:44:31 AM)

ttcn3-ggsn-test-ogs: update open5gs-{smf,upf} config files

Change-Id: Ic92d73e93b47abb4fae99fc9bece0c93bf9b91ef
Related: I27adbab6a6b95ddf4c6d39803e4f7dd079f11a4c
Related: OS#5913
Vadim Yanitskiy at

#688 (Feb 27, 2023, 10:14:01 AM)

ttcn3-pgw-test: make the testsuite dir writable by all users

When running jenkins.sh as root or any other user with UID different
than UID=1000 of the 'osmocom' user we have in open5gs-{master,latest}
images, programs spawned by osmo-uecups-daemon (e.g. ping) may fail to
start.  In such cases, osmo-uecups-daemon reports unexpected program
termination with exit code=512.  This is happening because the
stdout and stderr of a spawned program are being redirected to
"$VOL_BASE_DIR/pgw-tester/TESTCASE.prog.std{out,err}", for which
the 'osmocom' user needs to have write permissions.

Change-Id: Icb6b30e618e290d974a919fef34c6b5cb7eeb648
Related: OS#5913
Vadim Yanitskiy at

#684 (Feb 24, 2023, 9:00:18 AM)

ttcn3-pgw-test: update open5gs-{nrf,smf,upf} config files

As stated in the ticket, both open5gs-{nrf,smf} daemons refuse to
start since build #326 because of the following error:

  [sbi] ERROR: TLS enabled but no server key (../lib/sbi/context.c:186)

The problem is that the recent open5gs (v2.6.0-39-g22be888 at the
moment of writing) is attempting to employ TLS verification for SBI
even if it's not explicitly configured in the config files.

  commit 05fbaf69587488e53b5e741a9ada9f9fa5749322
  Author: Sukchan Lee <acetcom@gmail.com>
  Date:   Sat Feb 18 10:58:29 2023 +0900

    [SBI] HTTP2-TLS verification - ConfFile Changed

Our config files are slightly outdated, so let's take a chance
to update them and specify the missing TLS params.  Check out
open5gs-{nrf,smf,upf}.yaml from the latest git version.

The updated files are confirmed to work with both:

* latest release for Debian v2.5.8, and
* latest git version v2.6.0-39-g22be888.

Change-Id: I27adbab6a6b95ddf4c6d39803e4f7dd079f11a4c
Related: OS#5913
Vadim Yanitskiy at

#679 (Feb 22, 2023, 12:43:19 AM)

osmo-uecups-latest: install missing iputils-ping

ping is needed for ttcn3-pgw-test.  In the case of osmo-uecups-master
it's available from the parent $DISTRO-build image, but for the -latest
it needs to be installed by the inherited image itself.

Change-Id: Ia1b9124f09203c7dcf6d26dee78b09d5a139a04f
Related: OS#5913
Vadim Yanitskiy at
open5gs-latest: install missing packages for ttcn3-pgw-test

These are present in open5gs-master, but missing in open5gs-latest.

Change-Id: Ic9227033d65d621e7f6c5e196a9a8d6a1b73d5da
Related: OS#5913
Vadim Yanitskiy at
open5gs-master: fix comment in Dockerfile

Change-Id: I34577dd39051f429af8257afe075f22b20cfdfe4
Related: OS#5913
Vadim Yanitskiy at
open5gs-latest: add osmocom user for ttcn3-pgw-test

In ttcn3-pgw-test we're running open5gs-upfd as a non-root user.
We do have this user in open5gs-master, but not in open5gs-latest.

Change-Id: I9139fc52fa6973cf495559d3c4202d9f804a2079
Related: OS#5913
Vadim Yanitskiy at

#678 (Feb 21, 2023, 12:44:35 AM)

debian-bullseye-*: apt-key is deprecated, use [signed-by] instead

The following warning message appears when running apt-key:

  apt-key is deprecated. Manage keyring files in trusted.gpg.d instead

The apt-key man page mentions that the "use of apt-key is deprecated,
except for the use of apt-key del in maintainer scripts to remove
existing keys from the main keyring".  What's more, "apt-key will last
be available in Debian 11 and Ubuntu 22.04".

Additionally, while the deprecation message says to "manage keyring
files in trusted.gpg.d instead", the Debian wiki states otherwise.
It's recommended to store the keys in /usr/share/keyrings instead,
and then use the 'signed-by' option to reference them.

https://salsa.debian.org/apt-team/apt/-/commit/ee284d5917d09649b68ff1632d44e892f290c52f

Change-Id: I1cae4f49e72f5e4f9d703cdb8f6d117e18e3567c
Vadim Yanitskiy at
osmo-uecups-latest: new Dockerfile

osmo-uecups is available in the latest feed since recently.

Change-Id: I89c16dd0a71d2461981d978d2abf36f62bb9b339
Related: SYS#5602
Vadim Yanitskiy at
ttcn3-pgw-test: allow using osmo-uecups from the latest feed

Change-Id: I4f92577f062e8a9be29af83026214636dff19d78
Vadim Yanitskiy at

#677 (Feb 20, 2023, 12:43:19 AM)

upgrade to gerrit 3.6.3

Change-Id: I56eadf8c6dd4c131dcdaf451e493f619576ae198
laforge at

#667 (Feb 13, 2023, 10:19:04 PM)

ttcn3-bsc-test: sleep 1s before starting testsuite

Give OsmoBSC time to connect to OsmoSTP, so BSSMAP RESET from the
testsuite doesn't fail in OsmoSTP with:
  MTP-TRANSFER.req for DPC 187: no route!

Without this patch, it would fail every other time on my system when
only having one test enabled in BSC_Tests.cfg.

Change-Id: Ic7f80bdfe2fe58e93c2f2e3baa6d7645fcdc3062
Oliver Smith at

#658 (Feb 10, 2023, 12:44:27 AM)

release-tarball: support git submodules

osmo-trx 1.5.0 is now using a git submodule for osmocom-bb, so add
support for it.

Change-Id: I35e9ef6d976ae8cf2bfb4f3c410e6b2cb3ca7841
Oliver Smith at
release-tarball: fix osmo-trx 1.5.0

Run configure with the --with-mstrx argument, so LIBTRXCON_DIR is not
pointing at an empty directory.

Fix for:
  make[2]: Entering directory '/build/_temp/repos/osmo-trx/osmocom-bb'
  make[2]: *** No rule to make target 'distdir'.  Stop.

Change-Id: I2f067409f98119d4e35cf86cc2c816fc3c19e3f5
Oliver Smith at
release-tarball: remove PARALLEL_MAKE variable

Probably copy pasted from another script, doesn't make much sense here
since only the release tarballs are built. Nothing gets compiled here,
the variable was not used.

Change-Id: Ie74ee6976759f9634503b21e964e93efcc925679
Oliver Smith at
release-tarball: add var to use list from jenkins

Add a parameter that can be used to reproduce the failure locally with
the last list from jenkins, without having SSH set up to download the
list of existing tarballs.

Change-Id: I9af310c24aa65c21cc4bd365d3df7804cba02df7
Oliver Smith at
release-tarball: add libosmo-pfcp, libgtpnl

Change-Id: I4096c21352366c16167efce5c2a97f4e04c1addb
Oliver Smith at

#657 (Feb 9, 2023, 12:44:35 AM)

release-tarball: add missing cd /build

Fix for:
  upload: no tarballs generated, nothing to do.

Change-Id: I047546b26f379c5302d8558b92b77e4fa311a0a0
Oliver Smith at

#656 (Feb 8, 2023, 11:58:26 AM)

jenkins-common.sh: open5gs-latest does not require debian-bullseye-build

We're not *building* anything for the open5gs-latest, but simply
downloading and installing DEBs from Sukchan's opensuse.org repo.

Change-Id: Iec7ccab28c37d274a731e08a2f893ec0514c1068
Fixes: 62ac21133a828bab849c072f27664102790fcb91
Vadim Yanitskiy at
ttcn3-*: Update test setup after Osmocom CNI release 202302

Change-Id: If34b043a55177e6c0d1be3949fc2a2682258cc84
Pau Espin Pedrol at

#643 (Jan 30, 2023, 6:53:25 PM)

FR testsuites: clean up all networks before start

Add a new network_clean_remove_all_ttcn3 function and use it in the fr
related testsuites to ensure no network is running before the test
starts. We just had the situation where the network link between
gtp0-deb10fr (where these testsuites run exclusively, and only one at a
time) and the jenkins host went down. And so the clean up trap
apparently did not run and starting a new test fails as the old network
still exists and has the network devices attached.

Related: OS#5802
Change-Id: I6a9464a11edcba978be08764bec9de19760a5c77
Oliver Smith at

#634 (Jan 24, 2023, 12:44:32 AM)

debian-buster-jenkins-arm: new image

Add a minimal image to use on the raspberry pis, so it doesn't need to
spend 1-2 hours building debian-buster-jenkins on the raspberry pis,
full of things we don't actually use there.

I've verified that osmo-bts, osmo-pcu, osmo-trx build with this image
(the only projects which we build on the rpis).

Related: OS#5863
Change-Id: I4fb4b48b233acaef815c4c27ec6f17f12cfe836b
Oliver Smith at

#628 (Jan 19, 2023, 12:43:17 AM)

debian-buster-jenkins: install ccache

Make ccache available inside debian-buster-jenkins. An upcoming osmo-ci
patch will make use of it in gerrit-verification and master jobs. With
this docker-playground patch alone it's not used yet since
/usr/lib/ccache is not in the default PATH.

Related: OS#5848
Change-Id: I164c7835f99436e8d768a864f36118eaf799d109
Oliver Smith at
ttcn3-bts-test: replace subnets during 'make cfg'

Make ttcn3-bts-test work as expected again by replacing the subnets
hardcoded in the confmerge files and Makefile.

Related: OS#5802
Change-Id: I733619f80b4e2456da070649634d3c942bb6d95f
Oliver Smith at

#626 (Jan 17, 2023, 7:48:26 PM)

kernel_test_wait_for_vm: increase timeout to 15s

As we run more testsuites in parallel, the load was higher and so this
timeout was reached.

Related: OS#5802
Change-Id: I823010106a99a4906e32198ed42b36f9fe662c4e
Oliver Smith at

#625 (Jan 17, 2023, 12:58:29 PM)

jenkins-common: replace subnet in scm files too

Replace the subnet in *.scm configs of nplab-sua-test and
nplab-m3ua-test too.

Related: OS#5802
Change-Id: Ia734df3721a4ae3408a17d33c835282b79174132
Oliver Smith at
network_create: set NET_NAME after next SUBNET

Put the current SUBNET into NET_NAME, not the previous one. Without this
patch it works too, but this makes more sense.

Related: OS#5802
Change-Id: I6c90505fd6c0ba62244ff67709b0bf31bf44b449
Oliver Smith at

#624 (Jan 17, 2023, 9:19:51 AM)

network_create: put SUBNET in NET_NAME

Fix the bug that running a test twice on the same host results in the
second test stopping the containers and network of the first test:

* Have the subnet name in the network name, so there's no collision of
  network names when cleaning up the network.

* Don't clean up the network when creating a new network. Rely on the
  clean up trap to clean up the network instead.

* Don't set NET_NAME when sourcing jenkins-common.sh anymore, as
  network_create will set it. There's also network_bridge_create, which
  only gets used by osmo-ran (which we don't run in jenkins). Add a
  check to this function to ensure NET_NAME is set before calling it,
  which osmo-ran is already doing.

Related: OS#5802
Change-Id: Ifcd384272c56d585e220e2588f2186dc110902ed
Oliver Smith at

#623 (Jan 17, 2023, 12:43:18 AM)

ttcn3-*/jenkins*.sh: use $SUBNET everywhere

Use the SUBNET variable instead of hardcoding it in some places. Split
commands across multiple lines while at it to improve readability.

Related: OS#5802
Change-Id: I08f83089ef97f5f92d4bbfa5743301e7375e9f0f
Oliver Smith at
network_create: find free subnet automatically

Try multiple subnet numbers until successfully creating a network. This
way we can run the same ttcn3 testsuite multiple times in parallel
without conflicts (e.g. once against latest, once against nightly). Also
we don't need to make sure each new testsuite has a unique subnet
number anymore.

I've considered also adjusting network_bridge_create, but that gets used
exclusively by osmo-ran/jenkins.sh, a script which we don't actually run
in jenkins. It seems that in this script it makes more sense to not get
a random subnet number.

Related: OS#5802
Change-Id: I57152b08ef0f38e17e7019a8df032189b03f56cf
Oliver Smith at

#619 (Jan 13, 2023, 12:44:44 AM)

*/Dockerfile: clone from gerrit.osmocom.org using https://

* Do not clone using deprecated git://, use https:// instead.
* Clone from the main repo gerrit.osmocom.org (if possible).
* Use the gitiles plugin to fetch the last commit from Gerrit.

Change-Id: I204fa6e3e3ebbdb8732393b897fca35659d61ae8
Vadim Yanitskiy at

#615 (Jan 10, 2023, 12:43:21 AM)

ttcn3-upf-test: fetch /tmp/commit from gerrit, not from cgit

Change-Id: Id327720258a9ece1efb79db0d7c4fcbe19864c92
Vadim Yanitskiy at

#592 (Dec 23, 2022, 12:44:40 AM)

jenkins-common: tweak echo messages

Use 'set +x' before echo, so messages are not printed twice and the
output becomes more readable.

Example:
  + echo Creating network ttcn3-bts-test
  Creating network ttcn3-bts-test

Related: OS#5802
Change-Id: I213cb80bd1d9401281ae1fb7394b2319453550dd
Oliver Smith at
ttcn3-ggsn-test: cp initrd-ggsn.sh to VOL_BASE_DIR

Prepare for a future patch where a free subnet will be figured out
automatically instead of having a hardcoded one, by moving
initrd-ggsn.sh to $VOL_BASE_DIR as the subnet will be replaced in files
in this directory.

Related: OS#5802
Change-Id: Ie4f35b77a2bff20f2a0479890a429754768cafd2
Oliver Smith at
scripts/regen_doc: use SUBNET variable

Add a $SUBNET parameter and use it throughout the script, similar to
other ttcn3-*/jenkins.sh scripts. This is in preparation for figuring
out a free network in network_create() automatically in a future patch.

Related: OS#5802
Change-Id: I3bda4bd7280469ad5ee02104295134a2e0b768e3
Oliver Smith at

#574 (Dec 10, 2022, 12:43:18 AM)

*-repo-install-test: remove

Remove the docker containers for repo-install-test, as it is now running
in qemu + kvm.

Related: OS#5365
Depends: osmo-ci Ie7f1bccb05779cb3614016c0b965b810bbb1471b
Change-Id: Ic40fddcc6b30318b3a6e63fe99b010939b95be25
Oliver Smith at

#566 (Dec 2, 2022, 4:29:58 PM)

ttcn3-docker-run.sh: Use interface "up" flag, not operstate

Don't use the "operstate" sysfs attribute to determine if an interface
is "up", use the actual UP-flag (0x01) in the "flags" sysfs attribute.

The "operstate" attribute may at least occasionally be "unknown" and
remain in that state (causing jenkins jobs to wait indefinitely), while
the flags (which we don't look at before this patch) indicates it is "up".

This is a fixup to the below commit:

commit d2014603a736a17d6b92006b25aa41482365ef3d
Author: Harald Welte <laforge@osmocom.org>
Date:   Wed Feb 3 22:05:43 2021 +0100

    debian-stretch-titan: Wait for interface to be _up_ not just its existance

Change-Id: Ib5c3bbe470ce874217437c2518df5ae07f0d8301
Closes: OS#5803
laforge at

#565 (Dec 2, 2022, 12:43:21 AM)

osmo-gsm-tester: fix getting latest commit

Get the latest commit from gerrit.osmocom.org, because after we moved
repositories from git.osmocom.org it currently answers with a 404.

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Git_infrastructure
Change-Id: I0e2215d067dec1e2327f765b5a97ba7512812647
Oliver Smith at

#564 (Dec 1, 2022, 12:43:17 AM)

release-tarball-build-dist: order install pkgs

Change-Id: I059f400db20e858b379704363e32d39a7897984a
Oliver Smith at
release-tarball-build-dist: move rsync into docker

Prepare to use ssh inside the docker container to check if tarballs
already exist, see the next patch.

Remove the '' around UserKnownHostsFile as using SSH_COMMAND in the next
patch without rsync fails otherwise with:
  command-line: line 0: Bad configuration option: 'userknownhostsfile

Change-Id: I6dfe5d587d05063c6cf2c9ec683e7b7e499b79c1
Oliver Smith at
release-tarball-build-dist: check exists on server

Previously this job relied on always running on the same jenkins node,
and having the previously built release tarballs in a workspace
directory that does not get removed. It would only skip building a
release tarball if the file already exists locally.

As part of OS#5793 this job needs to be moved away from that jenkins
node. When trying to run the job on a different node, it will build all
release tarballs again which takes unnecessarsily long and actually
fails on libosmocore-0.9.4 due to a missing python2.

This probably happens because the job was refactored at some point and I
didn't realize that the python2 dep is now missing as the previous
tarballs existed.

In general it doesn't make much sense to build previous release tarballs
again and to always keep the legacy environments around for that. Change
the code to check if a tarball exists on the server, and skip building
the tarball in that case.

Related: OS#5793
Related: https://jenkins.osmocom.org/jenkins/view/All%20no%20Gerrit/job/Osmocom-release-tarballs/1281/console
Change-Id: I4b8c149c9cdbe7c613eea5d9be15794de5e5ddce
Oliver Smith at
release-tarball-build-dist: fix missing dir crash

Don't fail if no tarball was generated and therefore the
_release_tarballs directory does not exist.

Related: OS#5793
Change-Id: Ib7c551e5376776eb267140bc4b897d5bb1634cbc
Oliver Smith at
release-tarball-build-dist: fix permission errors

Run all commands inside the docker containers as a user with the same
UID as on the host system, not as root. This is a good idea in general
and also fixes permission problems when jenkins tries to wipe the
workspace.

Related: OS#5793
Change-Id: I0d949e5ab4b1a709d18a316def0a98c3b244457e
Oliver Smith at

#548 (Nov 21, 2022, 4:23:28 PM)

ttcn3-{pgw,ggsn}-test: Update smf.yml with new metrics section location

The "metrics" section was moved inside each program node to avoid
clashes when several network programs are run in the same process and
use the same config file.

Depends: open5gs.git 2d4fbf92eb1be9ffe84df6dc103ee7401d1d3b0f
Change-Id: Iae16bfccfbaaed37701e671ba619f8082f55506d
Pau Espin Pedrol at

#542 (Nov 16, 2022, 12:49:37 AM)

ttcn3-pgw-test: update freeDiameter-smf.conf

Recent open5gs changed location of the TLS key and certificate files:

  commit 0859dd44530a944076c207c750188572effc2709
  Author: Sukchan Lee <acetcom@gmail.com>
  Date:   Sat Nov 12 09:37:43 2022 +0900

      Follow-up on #1865

Updating paths makes the open5gs-master work, however the -latest
still installs these files to '/etc/freeDiameter/'.  Let's remove
both 'TLS_Cred' and 'TLS_CA' params, we are not using TLS anyway.

Change-Id: Ic90f713fb127f8d5407c18553b29b3c2be141420
Vadim Yanitskiy at
ttcn3-ggsn-test-ogs: update freeDiameter-smf.conf

Recent open5gs changed location of the TLS key and certificate files:

  commit 0859dd44530a944076c207c750188572effc2709
  Author: Sukchan Lee <acetcom@gmail.com>
  Date:   Sat Nov 12 09:37:43 2022 +0900

      Follow-up on #1865

Updating paths makes the open5gs-master work, however the -latest
still installs these files to '/etc/freeDiameter/'.  Let's remove
both 'TLS_Cred' and 'TLS_CA' params, we are not using TLS anyway.

Change-Id: Iacd7287f217db7a23ceece1d4508ef674b696d35
Vadim Yanitskiy at
open5gs-latest: migrate from debian:buster to debian:bullseye

Change-Id: Ia09aa712a916686f7220da9a5d2f4a02a8b7b8db
Vadim Yanitskiy at

#533 (Nov 8, 2022, 12:43:21 AM)

hnbgw: Only build with_pfcp on master

The functionality is not in -latest yet so running osmo-hnbgw with this
configuration fails which in turn fails the test in jenkins instead of
just marking it unstable.

Change-Id: I4309c323c1d61e8f22dae499c407d57999f6f13a
daniel at

#528 (Nov 4, 2022, 2:23:27 PM)

debian-buster-jenkins: add more pysim related deps

Install all depends to properly generate the manuals. Otherwise it
prints errors like the following and the resulting manual has empty
sections:
  /build/docs/shell.rst:329: ERROR: Failed to import "LinFixedEF" from "pySim.filesystem".
  No module named 'smartcard'

Get the requirements.txt directly from the git repository, so we don't
need to update the list of dependencies here. Remove the dependencies
from the list that I added recently for pysim, and which are are also
in requirements.txt.

Add swig, as otherwise pyscard fails to install.

Related: OS#5497
Change-Id: I13a0b0dc8be81bf4034b08b1ef1100f1420fa3a1
Oliver Smith at

#526 (Nov 4, 2022, 12:43:21 AM)

ttcn3-bsc-test: Fix ttcn3-bsc_sccplite-latest

Re-add the msc 0->mgw config line since the "latest" version of osmo-bsc still uses
it. This was probably caused by fixing fallout from osmo-bsc.git commit
da4af65a51ee8b8d7b380330c0301de293347563 in master.

The config line is ignored in master so should be safe to keep until a
new osmo-bsc version is released.

Change-Id: I85231bf66a78232567eb91b92b8542ca7f728beb
dwillmann at

#510 (Oct 25, 2022, 12:43:21 AM)

debian-buster-jenkins: add pysim doc/lint depends

The lint and docs parts of pysim's contrib/jenkins.sh will run on a
different jenkins node than the tests (which has to run on simtester).
Add the depends for lint and docs to debian-buster-jenkins, so we can
run them in docker.

The python libraries construct, pytlv, pyyaml are needed so pylint
doesn't print false errors like "Undefined variable 'TLV'".

Related: OS#5497
Change-Id: Id5c75725d2fab46b29773fa4f637fa2d73fa7291
Oliver Smith at

#501 (Oct 20, 2022, 2:53:28 PM)

ttcn3-bsc: Update osmo-bsc cfg files to use mgw pooling VTY commands

OsmoBSC has supported this VTY interface since more than a year ago.
Let's update the config files to use the new "mgw" node.

The recently submitted VTY commands without the redundant "mgw" prefix
are still not used here in order to have the config file work with
latest release which still doesn't support those.

Change-Id: Iabf117f9e6de02cac16e44d9a0ca32a30d71847c
Related: SYS#5987
Pau Espin Pedrol at

#498 (Oct 18, 2022, 12:50:36 AM)

debian-buster-jenkins: skip llvm for arch !x86_64

The pre-built LLVM toolchain we are downloading is built for x86_64, so
this fails on other architectures.

Related: OS#5260
Change-Id: Ie5a851d8c4e808ced09b20d7478679bf1ecc1cbb
Oliver Smith at

#495 (Oct 15, 2022, 12:43:20 AM)

Revert "debian-buster-build: add LLVMEmbeddedToolchainForArm"

Wrong docker container, debian-buster-jenkins is used for the build, not
debian-buster-build. The next patches will adjust the right one.
This reverts commit 1ce91ecfb027134c035d81756e47f27ba86e2be6.

Change-Id: Idff1d5a263181070133743c781615b1102311efb
Oliver Smith at
debian-buster-jenkins: order pkgs alphabetically

Change-Id: I32dffc65239f1ad650b9e8d6ed6e4fe48878b916
Oliver Smith at
debian-buster-jenkins: add LLVMEmbeddedToolchainForArm

This is needed for simtrace2. As the bootloader goes beyond partition
size in modern gcc, we'll use clang instead.

Related: OS#5260
Related: simtrace2 I2aa2e20e75e334560dbe1f6db9fd1491873ff91f
Change-Id: I4f3fd7f7a40e5fa00bbfc713c1365f573febfe41
Oliver Smith at

#494 (Oct 14, 2022, 8:56:31 AM)

debian-buster-build: order pkgs alphabetically

Change-Id: I16da41b9bcb3d1137218b0ed5c2f6adf2a723fce
Oliver Smith at
debian-buster-build: add LLVMEmbeddedToolchainForArm

This is needed for simtrace2. As the bootloader goes beyond partition
size in modern gcc, we'll use clang instead.

Related: OS#5260
Related: simtrace2 I2aa2e20e75e334560dbe1f6db9fd1491873ff91f
Change-Id: Ib82a53fa7edc62d21e772efbb9b2c049d1b50c4d
Oliver Smith at

#492 (Oct 12, 2022, 1:28:29 PM)

ttcn3-mgw: Increase number of enpoints in osmo-mgw.cfg

This is needed by test TC_crcx_osmux_257

Related: osmo-ttcn3-hacks.git Change-Id I74e6c760e076fe2547b6297a54524255fb8b
Related: SYS#5987
Change-Id: I14e3abdf63c585e4518b0c0a61dbc57e6710a998
Pau Espin Pedrol at

#491 (Oct 12, 2022, 12:43:17 AM)

ttcn3-mgw: jenkins.sh Fix centos tests

The sed lines dropping the new configs must be applied to any non-master
run.

Fixes: e077fec68419d13c2dbe347b6799f407dd927ffd
Change-Id: I369bb61f3979bd9118fad17c3d202253411ba14b
Pau Espin Pedrol at

#483 (Oct 5, 2022, 9:13:27 AM)

ttcn3-mgw: Set osmux bind-ip(-v6) VTY configs

Until now we forgot to properly configure the osmux socket local ip, but
that was fine because 0.0.0.0 was taken as a default.
With addition of IPv6, this changed, and the socket is not bound unless
an IP address is set (to allow conditional use of IPv4, IPv6 or both).

Depends: osmo-mgw.git Change-Id I446cd7da217e9f4a74995d7784ae55dcc60a29b7
Change-Id: Ib7e9428a10238fae395a1707d6034dc5c97b9024
Pau Espin Pedrol at

#479 (Oct 3, 2022, 6:33:29 PM)

ttcn3-pcu-test: osmo-pcu.cfg: use 'gsmtap-category enable-all'

Change-Id: I19fbb75890935a338c31b7eb5e624ec988f91468
Vadim Yanitskiy at
ttcn3-pcu-test: osmo-pcu.cfg: use 'gsmtap-remote-host'

Change-Id: Ib7d6e564e12db08a8dd4890426d2599b3260fa9d
Vadim Yanitskiy at

#470 (Sep 27, 2022, 12:43:21 AM)

.gitignore vim swp files

Change-Id: I5e67c42271aca9f81711e166324f70663e34cfcf
Neels Hofmeyr at
add osmo-upf-master

Will be used by ttcn3-upf-test in subsequent patch
I7a651bb85861de4b2677a731b9f17fa0d790c621.

Change-Id: Iceec912eef05bf4903ccc1fc30b0c7362145a1f1
Neels Hofmeyr at
add ttcn3-upf-test

Related: I43cd55c9395f2c706369afe1a9a7f475be47339f (osmo-ci)
Related: I5964979b3db86268f6011df0afbee7131557f405 (osmo-ci)
Change-Id: I7a651bb85861de4b2677a731b9f17fa0d790c621
Neels Hofmeyr at

#465 (Sep 22, 2022, 12:43:17 AM)

ttcn3-hnbgw: Set different junit xml file name prefix for with-pfcp variant

Similar to what's done in BTS_Tests and REMSIM_Tests

Change-Id: Iee69774ae8885ab216d0d707ee5fd0269a438c83
Pau Espin Pedrol at
ttcn3-hnbgw: sed junit file in the clean_up trap

Same as done in BTS_Tests. This makes sure the files are always properly
updated even if something goes wrong (such as docker kill failing to
stop hnbgw because it exited earlier due to unsupported feature).

Change-Id: Iac3bd9cf3448e18930dcef6c9ae4b6530939ffe6
Pau Espin Pedrol at

#463 (Sep 21, 2022, 12:43:54 AM)

Use gerrit as osmo-ttcn3-hacks.git git remote

Other remotes are mirrors of gerrit one, which means there's some delay
between pushing some ref to the gerrit remote and having them available
in the mirrors.
Hence, it becomes annoying while developing and new stuff to test is
pushed. Let's simply use gerrit since it's the master remote.

Change-Id: Ic87c196f8b91a3a3e6ddde2cca36482ce7070df7
Pau Espin Pedrol at

#457 (Sep 16, 2022, 12:43:18 AM)

osmo-hnbgw-master: build with --enable-pfcp

Change-Id: If84261cba2bf3b75c454fd5d16fd19a88a468eb7
Neels Hofmeyr at
add ttcn3-hnbgw-test variant with-pfcp

Run HNBGW tests a second time with PFCP enabled. Just run all the same
tests again, no matter if they are related to PS RAB Assignment or not,
to also ensure no ill side effects from PFCP configuration.

Related: SYS#5895
Depends: I511e758807e0512c18f3f9e0a8c4699b9a3f5992 (osmo-ttcn3-hacks)
Change-Id: I02b60941343000a4618e95f56326bec170c32bfe
Neels Hofmeyr at

#455 (Sep 14, 2022, 12:23:28 PM)

ttcn3-bts: Add osmux configurations

Requires: osmo-ttcn3-hacks.git I1af23c7a60b05edc3b544f1fea0023f48e89f7a7
Requires: osmo-bts.git Ib80be434c06d07b3611bd18ae25dff8b14a7aad9
Related: SYS#5987
Change-Id: I185b77eb4fa05501f098d89b80b66168349175bb
Pau Espin Pedrol at

#452 (Sep 14, 2022, 12:54:17 AM)

ttcn3-hnbgw: Enable gsmtap logging

Change-Id: I2c5c98349190bc6c37013acd2bd84887cbe1d059
Pau Espin Pedrol at

#443 (Sep 8, 2022, 12:43:24 AM)

osmo-bts-master: Depend on libosmo-netif

Since osmo-bts.git a2dc808acc5b99122e97c9013cb1ec2ae0c4a2a1, osmo-bts
depends on libosmo-netif. Let's add the dependency when building.

Change-Id: If033ed7f25bb69a66ecff56b2a1781d6339a6d7e
Pau Espin Pedrol at

#439 (Sep 6, 2022, 12:44:08 AM)

debian-bullseye-titan: Discontinue the use of git://

Change-Id: I188a04dd6ecae3c92186d5cbf6cd002ad518efc3
laforge at

#432 (Sep 1, 2022, 12:43:32 AM)

debian-bullseye-titan: Use gitea, not obsolete cgit

When downloading the deps/Makefile, use gitea instead of the obsolete
and now defunct cgit deep-link

Change-Id: Ifbcb992e70a1faefc3829df28f8bf4dfaf2143e1
Related: OS#5670
laforge at

#431 (Aug 31, 2022, 12:43:26 AM)

ttcn3-bsc: Enable OSMUX feature in osmo-bts-omldummy

This feature is used to indicate to the BSC that the BTS supports Osmux.

Requires: libosmocore 18c6a8183f92915e77368ecffb1cbf7f555453a3
Related: SYS#5987
Change-Id: Ia402b7514b636750442d0859d5ebc3fcad67dd9f
Pau Espin Pedrol at

#412 (Aug 18, 2022, 12:43:25 AM)

osmo-hlr-master: install libsqlite3-dev/sqlite-devel

osmo-hlr is using libsqlite3 directly, not via libdbd.

Change-Id: I99e43dff8f94fbef1a2dd9934caf6ba1fa7cc1f7
Vadim Yanitskiy at
osmo-msc-master: install libsqlite3-dev/sqlite-devel

Since recenly, osmo-msc is using libsqlite3 directly.

Change-Id: I4b0ecfcc9a25797eb8e12f07e039160dfc296d4c
Vadim Yanitskiy at

#385 (Aug 5, 2022, 12:43:37 AM)

fix_perms: use debian:bullseye

Use debian:bullseye instead of debian-bullseye-build. Building the
latter requires a lot of time, it's definitively not needed for just
running chmod. Use debian:bullseye, since we use it as base for most
images and it's therefore very likely that it's already downloaded
(and if not, it would get downloaded here).

Change-Id: I88f513a0a8ee04628842a7aa1b663c390d2032cd
Oliver Smith at

#384 (Aug 4, 2022, 11:43:37 AM)

ttcn3-cbc: Update osmo-cbc.cfg, CBC_Tests.cfg to latest ttcn3 testsuite

New changes in ttcn3 also test SBcAP and CBSP links as client mode in
osmo-cbc.

Related: OS#4945
Requires: osmo-ttcn3-hacks.git c832c10b28c70f244423143f133cf63aea937997
Change-Id: I14a50d3d2284ceffc0607880fecddbff2a048284
Pau Espin Pedrol at

#383 (Aug 4, 2022, 12:43:21 AM)

osmo-hnodeb-latest: new container

Change-Id: I4c8cba31b792810b7e73af37c1f63edb12e8b37d
Oliver Smith at

#381 (Aug 2, 2022, 8:42:38 AM)

ttcn3-cbc: Adapt ports in osmo-cbc.git to default ttcn3 ones

This is intended to ease adding new emulated MMEs and BSCs by using next
available port strting from the one defined in the TTCN3 test module
parameter.

Requires: osmo-ttcn3-hacks.git Ib443aba9396aebe0a56b1a79719bbcf66302a1aa
Change-Id: Ib1387284c8f361572057b6d036429366238382a6
Pau Espin Pedrol at
ttcn3-cbc: Disable gsmtap_log debug for dasn1c category

This category prints incredibly large output of ASN1c encoder/decoder,
which clogs the logging subsystem while debugging general issues.
Since the encoder/decoder is somehow determenistic, let's disable
logging all the debugging; it can be enabled by the user when
specifically debugging any enc/dec related issue.

Change-Id: I53cc2fe717fa70a8f187788fc4d31d28e0d4e98a
Pau Espin Pedrol at

#372 (Jul 28, 2022, 12:43:22 AM)

ttcn3-cbc: Set mode server in osmo-cbc.cfg

TCP/SCTP client support was added recently in osmo-cbc. Since then, the
connection mode (client|server|disabled) needs to be specified in the
config. Let's update osmo-cbc.git to provide the correct info in here.

Requires: osmo-cbc.git Change-Id I3ec54b615b41b56f7a9c64298e3fcaac37f4b60e
Change-Id: I2e3a806a8371011cdb4c3b1f194e132d3896374e
Pau Espin Pedrol at

#367 (Jul 23, 2022, 12:47:28 AM)

ttcn3-cbc: Reorder osmo-cbc.cfg nodes

This is the new expected working order.

Related: osmo-cbc.git I7623ea5874552e57764327e94a9c3a4de7b71d67
Change-Id: Ia6f9cb6ac5935b8253521a6bfe11e6905e77523d
Pau Espin Pedrol at
ttcn3-cbc: Adapt osmo-cbc 'peer' node to new format

Requires: osmo-cbc.git Change-Id I47756dddd8f9b8450ba14c914614fd2391d5486e
Change-Id: I3654acdf4b68886133af7f418726903f3fee57eb
Pau Espin Pedrol at

#364 (Jul 20, 2022, 4:23:28 PM)

osmo-cbc-master: Fix missing ldconfig

osmo-cbc installs now libosmo-sbcap.so.0, so ldconfig must be run.

Related: OS#4945
Change-Id: Ia02323639af57ed76cf7106934ace1fa4a0c2c77
Pau Espin Pedrol at

#362 (Jul 19, 2022, 3:13:27 PM)

ttcn3-cbc: Update osmo-cbc.cfg to test SBc-AP

Requires: osmo-ttcn3-hacks.git Ia6743e0a3e7974a5f2dd3ecf74ec331f646f6bc2
Requires: osmo-cbc.git Iceea1a2281f8784d64b4227601d8757b7ae39176
Change-Id: Ie6fb464890c4b7b9816ef8602633df107e5e61ee
Pau Espin Pedrol at

#352 (Jul 13, 2022, 12:47:32 AM)

debian-bullseye-jenkins: new container

Related: OS#6041
Change-Id: I849568826b1993fd9fb652779e631188af4a319e
Oliver Smith at
ttcn3-cbc: Enable gsmtap log

Change-Id: I15ecf18e062218efb4a4319e29f182ba4331a37b
Pau Espin Pedrol at

#347 (Jul 9, 2022, 12:47:24 AM)

debian11-repo-install-test: add container

Change-Id: I7bb98b209481b25317301bdb69f48e644389745f
Oliver Smith at

#345 (Jul 7, 2022, 12:47:31 AM)

release-tarball-build-dist/Makefile: update

Adjust the Makefile as well after the docker container has been migrated
to debian 11 in Ib6039724a7200abce5252f95407047296b72cd51.

Change-Id: Ibebca7be7daccd17bbf1b382108d87eb5a93ecf1
Oliver Smith at
*/.release: remove

These files are in .gitignore and get generated at the end of running
'make'. Remove them to have less cluttered 'git grep' output.

Change-Id: Ie5bf05220359ac0941f62cc86ed843363548784a
Oliver Smith at
Remove several unused containers

* alpine-*: looks like they were never used
* debian-{jessie,stretch}-*: EOL
* debian9-repo-install-test: EOL
* gitolite: never used? / upstream container last updated 3 years ago
* osmo-gerrit-libosmo: unused example from 2017, based on jessie
* patchwork: looks like never used, ancient version
* public-inbox: added in 2018 for playing around, apparently unused
* tmp: unfinished and unused
* ubuntu-zesty-build: was added for testing ubuntu 17.04, unused

Related: OS#5601
Change-Id: Ic09046379ddff049629bb66850ead7ba479c4450
Oliver Smith at

#338 (Jun 30, 2022, 12:46:54 AM)

osmo-gsm-tester: use debian's soapysdr-module-lms7

After switching from build.opensuse.org to obs.osmocom.org's published
packages, the soapysdr0.7-module-lms7 binary package we had does not
exist anymore.

I'm not sure where it came from, from the name it looks like it was
built from version 0.7 sources, but we only have a soapysdr_0.5.4
package in OBS that was added for debian 8/ubuntu 16.04 compatibility 4
years ago, and builds have been disabled for all architectures:
https://build.opensuse.org/package/show/network:osmocom:nightly/soapysdr

Instead of relying on this leftover binary package, use the one provided
by debian instead. This osmo-gsm-tester docker container is based on
debian-buster, which has soapysdr 0.6 packaged. If we should really need
0.7, we could switch it to bullseye or build it from source while
building the container, or add it back to obs.osmocom.org.

I verified that the container builds with this change.

Fix for:
  E: Unable to locate package soapysdr0.7-module-lms7

Change-Id: Ie2408258eda407d9db6c2f0f5fbe475861756778
Oliver Smith at
release-tarball-build-dist: upgrade from debian 9

Let it use debian bullseye and rename the directory once, so we don't
need to rename it in the future when switching the debian version
again.

The reason I'm doing this now is that building with debian 9 failed
due to obs.osmocom.org related changes. It would be trivial to fix that,
but I decided to rather upgrade to the latest debian version.

Change-Id: Ib6039724a7200abce5252f95407047296b72cd51
Oliver Smith at
release-tarball-build-dist: move osmo-ci code here

Add a jenkins.sh that does the same as the previous lengthy shell
command in the jenkins-job-builder file, and add
osmocom-release-tarballs.sh. This makes it easier to test the
script, and only patching one repository is needed from now on when
changing to a newer debian version.

Depends: osmo-ci I15f6c08b807f1462f91e95b624cdc1aad0592dd6
Change-Id: I4cf66097f508c029f688ec8af1cab2238d42f84f
Oliver Smith at

#336 (Jun 29, 2022, 12:47:45 AM)

Install ca-certificates before Osmocom repo

Prepare for using https://downloads.osmocom.org/packages/ instead of
http://download.opensuse.org to download packages. Install
ca-certificates before attempting to use the repository, otherwise it
will print a warning and not use the repository and e.g. install
eclipse-titan from debian's repository instead of our repo.

Fix for:
W: https://downloads.osmocom.org/packages/osmocom:/latest/Debian_11/./InRelease: No system certificates available. Try installing ca-certificates.

Related: OS#5557
Change-Id: Icb6764601671b6e66591f33ede6d0f822811545a
Oliver Smith at
Use Osmocom OBS

Related: OS#5557
Change-Id: I880f8134e4f7e6ae4125237e6b3983c04cea9ec6
Oliver Smith at
debian-stretch-jenkins: add apt-transport-https

Fix installing packages from https with debian-stretch-jenkins after we
switched the packages mirror to https://downloads.osmocom.org/packages.

Fix for:
  E: The method driver /usr/lib/apt/methods/https could not be found.

Related: SYS#5557
Change-Id: I9ece7ffb295d8b371a0000a91b9b6d0f7174535d
Oliver Smith at

#325 (Jun 21, 2022, 12:43:21 AM)

cgit: fix Atom feed hostname from localhost to cgit.osmocom.org

Before:
$ curl -s https://cgit.osmocom.org/libosmocore/ | grep "Atom feed"
<link rel='alternate' title='Atom feed' href='http://localhost/libosmocore/atom/?h=master' type='application/atom+xml'/>

After:
$ curl -s https://cgit.osmocom.org/libosmocore/ | grep "Atom feed"
<link rel='alternate' title='Atom feed' href='http://cgit.osmocom.org/libosmocore/atom/?h=master' type='application/atom+xml'/>

Change-Id: Iaab14e254acc0356f0d3639924e3b6b528d57973
laforge at
cgit: Fix Atom feed scheme from http to https

before:
<link rel='alternate' title='Atom feed' href='http://cgit.osmocom.org/libosmocore/atom/?h=master' type='application/atom+xml'/>

after:
<link rel='alternate' title='Atom feed' href='https://cgit.osmocom.org/libosmocore/atom/?h=master' type='application/atom+xml'/>

Change-Id: I4000f32ee8e7c55a711f928a19379b3a80a8446f
laforge at

#324 (Jun 20, 2022, 12:43:19 AM)

add debian-sid-jenkins

Trying to get the gerrit build job for osmo-upf to work,
for patch Ic0d319eb4f98cd51a5999c804c4203ab0bdda650
which adds use of nftables.

Maybe a newer debian version for the docker image may help.

Change-Id: Ieb4fb1ddee80315b547ea7e3405a56fcc41daaad
Neels Hofmeyr at

#319 (Jun 17, 2022, 12:43:18 AM)

make: Allow passing OSMO_CBC_BRANCH to docker

Change-Id: I0ff3e8f298bd0d743b91d41620623d14911fef63
Pau Espin Pedrol at

#317 (Jun 16, 2022, 12:44:01 AM)

debian-bullseye-titan: Update libfftranscode 0.3->0.5

New version is needed for SBcAP support.

Related: OS#4945
Change-Id: Ifcbd01e8ff4d00dbf1413e4d80a60e3e038d1661
Pau Espin Pedrol at

#306 (Jun 10, 2022, 10:05:12 AM)

gerrit: update to 3.4.5

Change-Id: I767a5e13d8f73b95aee7997f9f4b0a4f64c19483
laforge at
cgit: more verbose logging format in access.log

Change-Id: Iee684c8732410971719044b281a4e810fe0f7945
laforge at

#304 (Jun 9, 2022, 12:43:19 AM)

open5gs: Enable libmetrics prometheus implementation

metrics support using Prometheus has been recently added to open5gs
(28e40a0f1b9048768958344e213c69994be671f5). However, it is still not
enabled by default. Let's enable it and update open5gs config files to
make use of it.

Change-Id: I6ec827d66241e20d631f3a851457921718c168a0
Pau Espin Pedrol at
ttcn3-bsc-test/jenkins-sccplite.sh: configure 4 TRX for BTS2

This is another fixup for [1].  I didn't notice that the sccplite
variant of ttcn3-bsc-test has its own copy of jenkins.sh.

Change-Id: I21219724adbeda4166963b4940b08aad281a62cb
Fixes: [1] Iba4fbd5c9ed59783df4ac64e68b2beef73a812ff
Related: SYS#5460
Vadim Yanitskiy at
ttcn3-bsc-test/jenkins-sccplite.sh: fix missing osmo-bts-omldummy logs

Change-Id: I823c34a754701dc71cd52df0ca660bd8fe3c02ab
Vadim Yanitskiy at

#300 (Jun 7, 2022, 2:58:27 PM)

ttcn3-bsc-test-sccplite/osmo-bsc.cfg: configure 3 additional TRX instances for BTS2

This should have been done as part of [1] in order to avoid
regressions in ttcn3-bsc-test-sccplite.

Change-Id: I2d0045533814a2bacc384c06287066f2209a5f38
Fixes: [1] Iba4fbd5c9ed59783df4ac64e68b2beef73a812ff
Related: SYS#5460
Vadim Yanitskiy at

#299 (Jun 7, 2022, 9:53:31 AM)

ttcn3-bsc-test/osmo-bsc.cfg: configure 3 additional TRX instances for BTS2

Change-Id: Iba4fbd5c9ed59783df4ac64e68b2beef73a812ff
Related: Ie1241c54abac9a56906c525155cbf7482bca738e
Related: SYS#5460
Vadim Yanitskiy at

#287 (May 31, 2022, 12:47:42 AM)

common/Release.key: update

Looks like the key already expired again. This key is now valid until
2024-08-02 according to

$ gpg --import Release.key
$ gpp --list-keys

Key added again from:
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_11/Release.key

Change-Id: I56a8708ae55cc4cc5928cd80bb57d63f32e22423
Oliver Smith at
jenkins-common: docker_depends: add open5gs

Change-Id: Ibcca8cf399abb4a4778318d1743985da8afde185
Oliver Smith at

#286 (May 30, 2022, 9:13:28 AM)

osmo-bsc.cfg: change logging level nm info -> notice

Stop spamming logs with tons of DNM messages (state changes, events).
GSMTAP emits all these messages (including 'debug' ones) anyway.

Related: I9e60ea0968a44aa29753226626864ac9f4c1f8ab (osmo-ttcn3-hacks.git)
Change-Id: I49352b3caf9f6bbdd594cfcdea54038fc0eaa874
Vadim Yanitskiy at

#265 (May 19, 2022, 8:02:53 PM)

common/Release.key: update

The current key is about to expire (2022-05-22). Update to the new one,
obtained from:
https://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_11/Release.key

Change-Id: I30d51435108c4763a92d57de223503d4ca4b0969
Oliver Smith at

#257 (May 16, 2022, 12:48:42 AM)

*/Dockerfile: drop MAINTAINER line

MAINTAINER is deprecated, drop the line in all Dockerfiles as suggested
by Vadim.

Related: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated
Change-Id: If1ef3032af2075d792c526ae744ec4c0c091da3a
Oliver Smith at

#254 (May 13, 2022, 4:23:26 PM)

osmocom-bb-host-master: modernize

Do not set up the Osmocom repository inside osmocom-bb-host-master, it
is done in debian-bullseye-build. Without this patch, we actually
installed the debian 9 version of libosmocore-dev in the debian 11
container.

This is part 1/2 of fixing TTCN3-centos-bts-test, which has been failing
since OSMOCOM_REPO_MIRROR was changed in osmo-ci.git. Part 2 is in
osmo-ci I8201f34a0f9747eea78c358a626cc3981d7407c4.

Change-Id: I78e0445a1b82e5cd72ecaa86e8fe25516b19f485
Oliver Smith at

#242 (May 4, 2022, 10:13:28 AM)

debian-bullseye-build: add libmnl-dev

As required by libosmocore, e.g. when building programs directly in this
container with osmo-dev.git/ttcn3/ttcn3.sh.

Change-Id: I4cd05ef2c164dfb765ee365ab38b8dfd4f955ac6
Oliver Smith at

#241 (May 4, 2022, 12:43:22 AM)

ttcn3-bsc-test: set osmo-bts-omldummy features

Add arguments to osmo-bts-omldummy to properly report the features that
were previously assumed for osmo-bts even without reporting them, until
this was changed in osmo-bsc I7fca42a39a4bc98a6ea8b9cfab28c4bad3a6a0aa.

Related: SYS#5922, OS#5538
Change-Id: Ib22f25431330676d59900de7bfb3d89e7872baf1
Oliver Smith at

#239 (May 3, 2022, 9:13:25 AM)

ttcn3-ggsn-test-ogs: set CAP_NET_RAW for open5gs-upfd

The SO_BINDTODEVICE feature (used for VRF) requires CAP_NET_RAW. Since
we run open5gs-upfd as user "osmocom", that seems to be causing some
permission problems under some systems (like jenkins). Let's make sure
we add the capabilitites to the binary before launching it as user
"osmocom".

Change-Id: I51ee6954a6c019a41cfcd50b2d99166316989d9b
Pau Espin Pedrol at

#222 (Apr 25, 2022, 12:43:17 AM)

debian-buster-jenkins: install libelf-dev

Add libelf-dev to be able to build kernel modules with
defconfig_x86_64.

This is an update to commit d6c5c7a0341c966ddef235a5d6e00a536c1a857c,
which should have not just modified the stretch but also the buster
Docker image

Change-Id: I4c442d86688278ff634a286b98637189eef88bfb
Related: OS#5407
laforge at

#219 (Apr 22, 2022, 10:03:27 AM)

ttcn3-pgw: Configure Gy interface

Depends: osmo-ttcn3-hacks.git Ie4e567f62bbbdba276e6b3221111c8d9f82cde14
Change-Id: Iaeed2086aa058e1079295cb1911ad80e9613f8fa
Pau Espin Pedrol at

#212 (Apr 18, 2022, 12:43:19 AM)

Revert "osmo-bsc-{master,latest}/osmo-bsc.cfg: set AMR link adaptation params"

This reverts commit 029c8df99981bb08ff6aaf35506ea3bf491e446e.

I actually meant to change osmo-bsc.cfg in ttcn3-bsc-test.

Change-Id: I85c577cbc608a77d6d6a5816f1fb7205361f7b4a
Related: SYS#5917
Vadim Yanitskiy at
ttcn3-bsc-test/osmo-bsc.cfg: set AMR link adaptation params

Change-Id: Idf5b22c7d50d283d24edf5ccd8de9051f7c2642f
Related: osmo-bsc.git Ic5f8d55d250976d8d4c9cae2d89480fd52326717
Related: SYS#5917
Vadim Yanitskiy at

#209 (Apr 15, 2022, 5:04:01 AM)

osmo-bsc-{master,latest}/osmo-bsc.cfg: set AMR link adaptation params

The default AMR link adaptation parameters have been changed in
the recent osmo-bsc, so set the old expected default explicitly.

Change-Id: Ic1c46d54ef97278100bd52156ad5627418ef5c97
Related: osmo-bsc.git Ic5f8d55d250976d8d4c9cae2d89480fd52326717
Related: SYS#5917
Vadim Yanitskiy at

#208 (Apr 15, 2022, 12:43:19 AM)

open5gs-latest: fix Dockerfile: avoid using curl for downloading keys

Since recently, curl fails to download the key from www.mongodb.org:

'''
$ curl --verbose https://www.mongodb.org/static/pgp/server-4.2.asc
GET /static/pgp/server-4.2.asc HTTP/1.1
Host: www.mongodb.org
User-Agent: curl/7.82.0
Accept: */*

Mark bundle as not supporting multiuse
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
Date: Wed, 13 Apr 2022 20:50:19 GMT
Location: https://pgp.mongodb.com/server-4.2.asc
Connection: Keep-Alive
Content-Length: 0
'''

By default, curl would not follow redirects unless '-L' is specified.
Let's use Docker's 'ADD' command instead, like many Dockerfiles do.
Also, update the address as suggested in the server's response.

Change-Id: I9757fcce084595341b1a68822bad454b64941eb1
Related: SYS#5602
Vadim Yanitskiy at

#205 (Apr 13, 2022, 12:43:21 AM)

make: Allow passing OSMO_UECUPS_BRANCH

Change-Id: I6060364843b1a3e3547a45d98a1248ead22f3970
Pau Espin Pedrol at
ttcn-ggsn: Configure open5gs-smfd to connect to TTCN3 OCS

Change-Id: I5a7ace64cefead2c05437ea75ba29ecc969d426e
Pau Espin Pedrol at
ttcn-pgw-test: Improve osmo-uecups cfg file

Bind to specific container IP address.
Use more uniform logging config settings as most of the other osmocom processes.

Change-Id: I36bb04a388ab65aaa03a82c159a1b258886ec0d0
Pau Espin Pedrol at

#200 (Apr 11, 2022, 12:08:25 PM)

ttcn3-pgw: Pass config file to osmo-uecups

Change-Id: I714172ca063c76a3104daf06f52b5823f304dffe
Pau Espin Pedrol at
ttcn3-pgw: Parallel docker container stop

Stopping all the containers takes quite a lot of time. Let's stop them
all in parallel to gain some time.

Change-Id: Iabf63ebdee9d1bf13a364ea3eb530ed9dae9b2a5
Pau Espin Pedrol at

#196 (Apr 8, 2022, 12:43:18 AM)

ttcn3-ggsn-ogs: Rename config files

Let's make names similar to what's used in PGW_Tests. Also, in
open5gs.git, config files don't contain the "d" at the end.

Change-Id: If56d1a890a4f1b80b4f04ae22644f9cb9cdd35f4
Pau Espin Pedrol at
ttcn3-pgw-test: Log stdout to find crashes

Change-Id: I573637866787ce1f613bd56a009251578c98cbf3
Pau Espin Pedrol at
ttcn3-pgw-test: Use process name in log file

This way it becomes similar to what we use in ttcn3-ggsn-tests-ogs.

Change-Id: Ibac0e6bc9dc7c2e576a4f5d1ccb730211d1e1427
Pau Espin Pedrol at
ttcn3-{pgw,ggsn}-tests: Add comment with procedure to get open5gs-smfd bt automatically

Some specific gdb commands need to be run in open5gs-smfd to get the
desired result (some signals need to be ignored).
gdb use is not enabled by default. Furthermore, if one wants to use it,
editing the Dockerfile to install gdb is required.

Change-Id: I1ac8b77e84d57040fc09964356bc8a01e5d721e3
Pau Espin Pedrol at
ttcn3-pgw-tests: use same bootstrap for upfd as in ttcn-ggsn-tests-ogs

This approach has several benefits:
* We end up with ip/tun setup output in the same log file as
  open5gs-upfd process output.
* We configure all ip/tun *before* the open5gs-upfd process starts.

Furthermore, we have same procedure as in ttcn3-ggsn-tests-ogs, which
simplifies maintainment/use.

The IP address pool for UEs is still different in pgw-tests and
ggsn-tests-ogs. We can make them the same in subsequent patches.

Change-Id: I94219abbeb5e004ce707407b5aa5ee8ad6c3a80e
Pau Espin Pedrol at
ttcn3-pgw-test: Log open5gs-nrfd stdout/stderr

This way we see potential crashes.

Change-Id: I31f2ff2dd5daa68756e910c4cb91acefdad50cb1
Pau Espin Pedrol at
ttcn3-{ggsn,pgw}-test: Avoid open5gs itself logging to a file

We already log stdout/stderr to a file, so there's no need to log a file
internally. We prefer logging that through stdout/stderr in order to
catch more stuff, like segfaults.

Change-Id: Ifdc010f26abdc8cefeec0c72a1f617911ec375d7
Pau Espin Pedrol at

#175 (Mar 28, 2022, 12:43:20 AM)

gr-gsm-master: migrate from archlinux to debian-bullseye-build

Arch Linux ships gnuradio-3.9.4.0, while gr-gsm has not been migrated
to 3.9 yet.  Let's use debian:bullseye, which ships gnuradio-3.8.2.0.

Change-Id: I9900addf152fd254283ef340cea16583ee5ac1c5
Vadim Yanitskiy at

#159 (Mar 16, 2022, 12:56:09 PM)

ttcn3-ggsn-ogs: Use new bind_dev config option for GTP sockets

This way we validate the feature is run and open5gs-smfd/upfd don't fail
when applying it.

Related: SYS#5846
Change-Id: Ie23db8ffb4868e4bc75783e2f6eb7a725b376ea7
Pau Espin Pedrol at

#141 (Mar 9, 2022, 1:13:34 PM)

ttcn3-ggsn-ogs: Change diameter node id to pcrf

This better identifies the peer, specially since we'll also connect to
an OCS in the future.

Depends: osmo-ttcn3-hacks.git Change- Id I1eb03d907b46c4bb24491f390ef468e831190e08
Change-Id: I4c9f90de1456cf1515c9a0608b44a44fa8acb311
Pau Espin Pedrol at

#138 (Mar 9, 2022, 12:43:17 AM)

centos8-repo-install-test: set UPSTREAM_DISTRO=almalinux:8 in Makefile

Otherwise 'debian:bullseye' is used by default when running make.

Change-Id: I1744f5199b1686ee615173572afee524104eb91f
Vadim Yanitskiy at

#130 (Mar 1, 2022, 4:55:52 PM)

ttcn3-ggsn: Modify configs to alloc bigger IPv4 pools

This is needed for test TC_lots_of_concurrent_pdp_ctx, which creates up
to 1000 pdp contexts.

Change-Id: If3344c8acc9bc3b43ed0a13af52807d2a6050a81
Pau Espin Pedrol at
debian-*-jenkins: git clone from gerrit

Avoid occasional clone failures by replacing https://git.osmocom.org
with https://gerrit.osmocom.org.

  Step 18/28 : RUN git clone https://git.osmocom.org/osmo-ci osmo-ci && cp -v $(find osmo-ci/scripts -maxdepth 1 -type f )    /usr/local/bin
   ---> Running in c1c0bc9fb861
  Cloning into 'osmo-ci'...
  error:  (curl_result = 56, http_code = 200, sha1 = ded2f31cbac2e7b0ae6c3c4147f4e21ab1ce9b98)
  error: Unable to find ded2f31cbac2e7b0ae6c3c4147f4e21ab1ce9b98 under https://git.osmocom.org/osmo-ci
  Cannot obtain needed tree ded2f31cbac2e7b0ae6c3c4147f4e21ab1ce9b98
  while processing commit bff275075548c443596aa1eb80d784e4cd3c2231.
  error: fetch failed.

Related: SYS#5857
Change-Id: I9ad8e5755c5d520ff33d85792a5a70da62d05253
Oliver Smith at

#115 (Feb 22, 2022, 4:53:25 PM)

ttcn3-fr-test/jenkins.sh: revert docker run --rm

Revert the change of adding a --rm to the "docker run" commands done in
I48b01c43fedf379b8a565eaab0369806d7831bd8.

This script runs the containers in the background, waits until they are
done, copies the logs and then removes them afterwards.

Fix for:
  + docker kill jenkins-ttcn3-fr-test-384-frnet
  jenkins-ttcn3-fr-test-384-frnet
  + docker logs --timestamps jenkins-ttcn3-fr-test-384-ttcn3-fr-test
  Error: No such container: jenkins-ttcn3-fr-test-384-ttcn3-fr-test

Change-Id: I56dc07820ccfa8ad6936764262a7c6c272e59c37
Oliver Smith at
ttcn3-fr-test/jenkins.sh: make use of clean_up()

Move cleaning up logic to clean_up(), so it runs as part of the
clean_up_trap if any command in the previous code fails.

For example, if the first docker container started properly, but the
second docker container failed to start: without this patch, it would
just stop the script without running the clean up code.

Change-Id: I4624e37d5d2fa90b71b32d72067b3645f69805da
Oliver Smith at

#112 (Feb 21, 2022, 1:13:29 PM)

ttcn3-ggsn-test-ogs: Run all tests

Change-Id: If400fe325d3fc9a0df168d41b3a1fe68c0e37d2f
Pau Espin Pedrol at

#107 (Feb 18, 2022, 11:23:25 PM)

Add ttcn3-hnbgw-test docker container

Only works in OSMO_HNBGW_BRANCH=pmaier/mgw2 for now

Change-Id: I7e06c1d4365a34b8b6b02a4748714694dfa14554
dwillmann at

#103 (Feb 17, 2022, 7:38:28 PM)

osmo-hnbgw-master: Fix build dependencies

Change-Id: I44c7bb81138b0a10519e59440a20fc7a43e3e480
dwillmann at

#99 (Feb 17, 2022, 12:43:19 AM)

debian-bullseye-erlang: Build rebar3 from source

This way we ensure it is always built against the same erlang OTP
installed in the system.

Change-Id: I6cd8a61ca52c7beda98b357f82ce42eba54e196b
Pau Espin Pedrol at
Remove debian-buster-erlang

We don't need the image anymore, we use debian-bullseye-erlang.

Change-Id: I6f22642f5f67a173b17db55aa7a7bda3d9debd54
Pau Espin Pedrol at

#97 (Feb 16, 2022, 3:48:29 PM)

Add debian-bullseye-erlang docker image

Copied from debian-buster-erlang, references to debian 10 and buster
modified to debian11 and bullseye.

Change-Id: I5c13eedcbfa721b7e1939e571470ea7044c00211
Pau Espin Pedrol at

#92 (Feb 15, 2022, 12:43:20 AM)

make/Makefile: always use docker run --rm

Add --rm to the "docker run" line in make/Makefile, and remove it from
RUN_ARGS.

Related: https://osmocom.org/projects/osmocom-servers/wiki/Docker_cache_clean_up
Related: SYS#5827
Change-Id: Iea063aa39a08397ea64d2018b433991a130e7f56
Oliver Smith at
common/pipework: deduplicate

Move the pipework script from several image directories to the common
dir.

Change-Id: I88ff40ca69c9ee76bef9bb8f24f66ca9d5ac751a
Oliver Smith at
treewide: fix missing --rm for "docker run"

Add "--rm" to each "docker run" command, so they don't continuously fill
up disk space.

Fix this even in the pipework script. We don't use the code path there,
but by always having --rm after "docker run" (same line or next line),
a new lint script in osmo-ci I8ab9c291504475d670bdefc50c4524c5bdd4c880
can help us avoid this in the future.

In ttcn3-ggsn-test/jenkins.sh, move one existing --rm in a later line
upwards so the linter can find it.

Related: SYS#5827, OS#5099
Related: https://github.com/jpetazzo/pipework/pull/248
Change-Id: I48b01c43fedf379b8a565eaab0369806d7831bd8
Oliver Smith at

#89 (Feb 12, 2022, 12:43:17 AM)

ttcn3-ggsn-tests-ogs: Set correct DNS address to get ping working

The DNS address provided is used by the test to ping. In osmo-ggsn, we
configured the DNS to be the shared address between GTPC and GTPU. In
open5gs, the addresses are different. Hence, let's pass the GTPU address
instead of the GTPC address to make the setup easier (no need to have
proper routing working between UPFD and SMFD containers).

Change-Id: I2a452ad871612d1c88b94579dadbe62b718b1475
Pau Espin Pedrol at
ttcn3-ggsn-tests-ogs: Configuration fixes for IPv6 tests

Change-Id: I6fe98f6642bbd42376c9ed7353b58451c104eaca
Pau Espin Pedrol at

#86 (Feb 11, 2022, 1:53:28 PM)

make/Makefile: allow overriding '-it' for target 'run'

Allocating a pseudo-TTY (-t, --tty) fails when 'run' is executed
inside of a Jenkins or cron script.  This change fixes
ttcn3-bts-test, which invokes 'run' to fetch the config files.

Change-Id: If22f682be4f004c5bb43e65098079a4f4fe6158d
Fixes: If15461240f3037c142c176fc7da745a1701ae3f8
Vadim Yanitskiy at

#85 (Feb 11, 2022, 12:43:20 AM)

ttcn3-bts-test: move generic config files into a directory

Change-Id: I1bc5c51306525c6829e9d8e2991555a99c9b49a2
Vadim Yanitskiy at
ttcn3-bts-test: use osmo-config-merge to generate config files

This uses the config files from osmo-ttcn3-hacks.git instead of keeping
local copies around here, which has shown many times will get out of
sync.  Extract the original files (*.src.cfg) from the testsuite image
(ttcn3-bts-test) and merge them with the local *.confmerge files using
osmo-config-merge.  Use the resulting files (*.gen.cfg).

Unfortunately, osmo-config-merge is not capable of removing text blocks
or substituting specific parts, so we fall-back to using sed where it's
needed.  A good example is 'log gsmtap 127.0.0.1', as there is no
command for removing a logging target of such type.

Co-Authored-By: Vadim Yanitskiy <vyanitskiy@sysmocom.de>
Co-Authored-By: Oliver Smith <osmith@sysmocom.de>
Change-Id: If15461240f3037c142c176fc7da745a1701ae3f8
Vadim Yanitskiy at

#81 (Feb 9, 2022, 12:43:18 AM)

ttcn3-ggsn-test-ogs: Configure correct GTP-U GGSN address

Change-Id: Id42b591ba03f451e89b0e332edcf8f2cded9f444
laforge at

#78 (Feb 8, 2022, 12:43:21 AM)

make/Makefile: generalize passing additional build arguments

Building of some images may require additional options to be passed.

Change-Id: Id1761062ac6ec1d1a4eb6a6b724e42cf576c848f
Vadim Yanitskiy at

#77 (Feb 7, 2022, 5:19:12 PM)

Add ttcn3-ggsn-ogs testsuite

This new setup allows running TTCN3 GGSN_Tests against open5gs, which
will soon gain GTPv1C support.

Change-Id: Ia6c122fce951d369a5d2362cbe99d10d61c15f49
Pau Espin Pedrol at
fixup: debian-bullseye-titan: run 8 parallel jobs for 'make deps'

Change-Id: I8fe9ff0b7c27ae7c71bd9bac6048b3073adf6bda
Vadim Yanitskiy at
open5gs-master: install dependencies using apt-get build-dep

This is a 3-rd party project, which may introduce new dependencies
in the future.  Rather than maintaining our own list of packages
to install, let's employ 'apt-get build-dep'.  This tool parses
'debian/control' and installs all dependencies automatically.

Change-Id: I71ad7256116ee30f15aff38fd38588aa2bfab456
Related: SYS#5602
Vadim Yanitskiy at
open5gs-master: ensure consistent install paths with '-latest'

This allows running TTCN-3 test cases against both '-latest' and
'-master' images using the same configuration files.

Change-Id: Ib4dcf3a9f77205dcdd0ff4932763e202cb89001c
Related: SYS#5602
Vadim Yanitskiy at

#71 (Feb 4, 2022, 6:08:26 PM)

make: Add OPEN5GS_BRANCH build arg

Change-Id: I29f85a18f5629e50dc1db527e931a248ab69f8e4
Pau Espin Pedrol at
debian-stretch-jenkins: install libelf-dev

Add libelf-dev to be able to build kernel modules with
defconfig_x86_64.

Related: OS#5407
Change-Id: Id72d19ad08681cd7cb3194de2226292f19e96df5
Oliver Smith at
debian-bullseye-titan: run 8 parallel jobs for 'make deps'

This reduces the time required for building test suites.

Change-Id: I6349d8304a248c7ae2a5373bf23a691f3a1cb991
Vadim Yanitskiy at
debian-{bullseye,buster,jessie}-build: install 'equivs' package

This package is required by Debian's mk-build-deps tool.

Change-Id: Id599d70dc7e5222d62aa5c155bbc75420b913de5
Related: SYS#5602
Vadim Yanitskiy at
open5gs-master: migrate to debian-bullseye-build

It's a common practice to have a shared '-build' image and base
the '-master' images on top of it to avoid installing same
dependencies across different images.

Finally we can use more recent meson from debian's repositories,
so no need to depend on python and install it using pip.

Change-Id: I93422916b232f686dc27a2ff452e20e73db50f58
Related: SYS#5602
Vadim Yanitskiy at

#68 (Feb 3, 2022, 12:06:07 PM)

ttcn3-pgw-test: configure the 'ogstun' device for open5gs-upfd

Unlike osmo-ggsn, open5gs-upfd does not configure the tun interface
itself.  All IPv4/IPv6 addresses must be assigned manually.  This
is exactly why both PGW_Tests.TC_createSession_ping4[_256] fail:

  [sock] ERROR: ogs_write() failed (5:Input/outputerror) (../lib/tun/tunio.c:84)
  [upf] WARNING: ogs_tun_write() failed (../src/upf/gtp-path.c:448)

Take Harald's setup.sh from open5gs-master and execute it in the
container running open5gs-upfd.  This fixes the ogs_write() errors.

Change-Id: I0730b1f69285484a0aa0ebd664dafd8e476b294f
Related: SYS#5602
Vadim Yanitskiy at
open5gs-master: remove both setup.sh and pgw.sh

Having these scripts makes no sense anymore, because:

  * setup.sh was moved to ttcn3-pgw-test,
  * pgw.sh runs non-existing open5gs-pgwd.

Change-Id: I96abc3ac57ade34cd79af6451bb201e36f5cd7f7
Related: SYS#5602
Vadim Yanitskiy at

#67 (Feb 3, 2022, 12:52:11 AM)

treewide: use almalinux instead of centos8

CentOS Linux 8 is EOL, attempting to install packages in it results in
an error. CentOS Linux is a rebuild of RHEL (stable versions). The
CentOS projects recommends to use CentOS Stream instead, which is a
build of the "public development branch for RHEL".

After the early EOL was announced on 2020-12-08, alternative projects
AlmaLinux and Rocky Linux have been established as binary compatible
forks of RHEL 8 (stable versions).

Both Alma and Rocky seem to be solid projects, see related Wikipedia
articles and their sources. Pick Alma and adjust the whole tree to use
the almalinux:8 docker image instead of centos:centos8.

Fix for:
  Error: Failed to download metadata for repo 'appstream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

Related: SYS#5818
Related: https://www.centos.org/cl-vs-cs/
Related: https://www.centos.org/centos-linux-eol/
Related: https://bugs.centos.org/view.php?id=18394
Related: https://en.wikipedia.org/wiki/AlmaLinux
Related: https://en.wikipedia.org/wiki/Rocky_Linux
Change-Id: I30e1a773b901b1d2187214445116c7f2aecc4e36
laforge at
ttcn3-pgw-test: make osmo-uecups-daemon more verbose

Change-Id: Id491b4f9db63c82f3dc58f3fc523b4f84fea01e0
Related: SYS#5602
Vadim Yanitskiy at
osmo-uecups-master: install iputils-ping for ttcn3-pgw-test

In ttcn3-pgw-test we order osmo-uecups-daemon to execute `ping`,
which is not available in Debian images.  Install it.

Change-Id: I73a78949d2e433d7cc4233395e45665056f083c8
Related: SYS#5602
Vadim Yanitskiy at
ttcn3-pgw-test: set PGW_Tests.mp_run_prog_log_path to '/data'

Change-Id: Idd5a37e5768c400d410958149b97869db1e92fb1
Depends: I04ab92c13fcd893d39dbb6a8a8af5ff41d207e36
Related: SYS#5602
Vadim Yanitskiy at

#63 (Jan 31, 2022, 9:58:23 AM)

ttcn3-bsc-test-vamos: set OSMO_SUT_{HOST,PORT}

This enables the test suite to obtain talloc reports between the
test case executions, which get stored together with the PCAP files.

Change-Id: Ia9525778fcecc60177be651624e2b2cf9bc75422
Vadim Yanitskiy at
ttcn3-bsc-test-sccplite: set OSMO_SUT_{HOST,PORT}

This enables the test suite to obtain talloc reports between the
test case executions, which get stored together with the PCAP files.

Change-Id: I4e5474e8fc51d2ba8a0baca68e11df1346d7d4ab
Vadim Yanitskiy at

#61 (Jan 30, 2022, 12:43:21 AM)

ttcn3-pgw-test: fix jenkins.sh: do not use bash specific syntax

On some systems /bin/sh is a symbolic link to bash, so everything
works fine.  On systems where /bin/sh is a real sh, copy fails:

  cp: cannot access 'open5gs-{smf,upf,nrf}.yaml': No such file or directory

Change-Id: I64e9ddefdb6deb21b3bce3bc1af875a92919e6c9
Related: SYS#5602
Vadim Yanitskiy at

#58 (Jan 27, 2022, 12:49:27 AM)

ttcn3-pgw-test: add Dockerfile, jenkins.sh and configs for open5gs

Change-Id: I69e2f5be8204cc4fd0cc0f4eb019ef1104121b60
Tweaked-By: Vadim Yanitskiy <vyanitskiy@sysmocom.de>
Related: SYS#5602
Vadim Yanitskiy at
ttcn3-pgw-test: set '--ulimit core=-1' for open5gs-{nrf,upf,smf}

Change-Id: I2da2d502f339fc4cbea8fa72414eeaeb6078dfd9
Related: SYS#5602
Vadim Yanitskiy at
ttcn3-pgw-test: set '--ulimit core=-1' for osmo-uecups-daemon

Change-Id: I16f4eefa2bb48486c139ca63f2a48346f0532a8c
Related: SYS#5602
Vadim Yanitskiy at
osmo-uecups-master/Dockerfile: fix copy-pasted ARG OSMO_BSC_BRANCH

Change-Id: Id713ddd24b7ba674d1a2035a0b3b62b1b9d26d9e
Related: SYS#5602
laforge at
osmo-uecups-master: add more complete osmo-uecups-daemon.cfg

Change-Id: I16e3f60485039efd3b965009608982c27511b680
Related: SYS#5602
laforge at
ttcn3-bsc-test/jenkins.sh: fix '--ulimit core=-1' set twice

Change-Id: I3223f8f4cc09797de44971215a94fc62ad8d263b
laforge at

#45 (Jan 18, 2022, 12:43:20 AM)

gerrit: upgrade to 3.3.9 based container

... primarily as intermediate step towards 3.4

Related: OS#5404
Change-Id: Iabb36f0754773dc2e8a5be7d44979b85034e2d01
laforge at
gerrit: Upgrade to 3.4.3

Change-Id: I91ebd53ea7279f76950cde959ffa2472d8f78593
Closes: OS#5404
laforge at

#28 (Jan 6, 2022, 12:43:21 AM)

Use osmo-hnbgw from osmo-hnbgw.git instead of osmo-iuh.git

Starting with release 1.2.0 of both repos, osmo-hnbgw binary is in
osmo-hnbgw.git, not osmo-iuh.git anymore.

Change-Id: I4ac6ede6a5b25ada211674bf3c46d79d7720a4bc
Pau Espin Pedrol at

#12 (Dec 25, 2021, 12:49:34 AM)

osmo-remsim-test-latest: install client-shell

Fix for failing ttcn3-remsim-test-latest, in osmo-remsim-client.log:
  /bin/sh: 1: osmo-remsim-client-shell: not found

Change-Id: Ia3041ea6f19ebe53e05117806acf88d3f86d4479
laforge at
osmo-hnodeb-master: no longer depend on libgtp

Newer osmo-hnodeb no longer depend on libgtp, get rid od the dependency.

Depends: osmo-hnodeb.git Change-Id I53ad4915aaed3bc7574036e963be10514e370fe2
Related: SYS#5516
Change-Id: I4e223823d08c7e9e17d87f54d9554429d31c8091
Pau Espin Pedrol at

#11 (Dec 24, 2021, 12:43:18 AM)

jenkins-common.sh: add d9 to upstream_distro func

After the default UPSTREAM_DISTRO was changed from debian:stretch to
debian:bullseye, the "debian9-repo-install-test" container has gotten
built with bullseye instead of stretch. This is the reason for failures
of the jenkins job Osmocom-repo-install-debian9 we have seen over the
past days.

With this patch applied, it runs through again:
https://jenkins.osmocom.org/jenkins/job/Osmocom-repo-install-debian9/339/

Change-Id: I98a19184ba936114c03cd5cc4f54a3173cbd9cfe
Oliver Smith at