Commit Graph

1172 Commits

Author SHA1 Message Date
Oliver Smith 832b09e718 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
2023-08-25 13:00:36 +02:00
Oliver Smith 870e94732f Cosmetic: debian-buster-jenkins: update comment
Related: OS#6126
Change-Id: I15be64a662e97e7e819abeda1c6c955d8198176c
2023-08-17 13:55:47 +02:00
Oliver Smith 5824c0ef0f 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
2023-08-17 13:55:04 +02:00
Oliver Smith cf43251869 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
2023-08-17 13:04:26 +02:00
Oliver Smith 3383a77448 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
2023-08-17 13:04:18 +02:00
Oliver Smith 6a8118dad8 ttcn3: use debian-bookworm-titan
Related: OS#6057
Change-Id: I2017dd3888670c475b96e692d911a433484f3df9
2023-08-14 09:28:24 +00:00
Oliver Smith 069cdcc536 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
2023-08-14 09:28:24 +00:00
Neels Hofmeyr 2fb37fc518 hnbgw: fixup: with-pfcp cfg: missing 'pfcp' section
Change-Id: I02be7c857d7dbf032bcadbea0812af732d27784f
2023-08-10 03:24:35 +02:00
Neels Hofmeyr db7b490c05 hnbgw: fixup: with-pfcp cfg: set missing x26 timer
Change-Id: Id9af3f99dedcc04424793560b171e595b88af0d7
2023-08-10 02:43:36 +02:00
Neels Hofmeyr c91b55e630 ttcn3-hnbgw-latest: fixup for cnpool: bind CTRL to 0.0.0.0
Change-Id: I70c8d8fc61830cb46dcc580b7e344425f7c6c26d
2023-08-08 07:45:10 +02:00
Neels Hofmeyr 571282acca hnbgw: fixup for cnpool: fix ASP IP addresses in osmo-stp.cfg
Change-Id: Ib6175eee69a7f37f987f996049351b9e1a545f58
2023-08-08 07:11:44 +02:00
Neels Hofmeyr 87c8ed0d6f hnbgw: fixup: adjust with-pfcp cfg like without-pfcp
Change-Id: Ice5aa8a6db512edad3535a55c5dba841670837ec
2023-08-08 06:29:57 +02:00
Neels Hofmeyr 0c3679264c hnbgw: fixup for cnpool: re-add lost MGCP cfg
Change-Id: I3491e2f9a675b737c12d84484f6d0219e8db0900
2023-08-08 06:26:27 +02:00
Neels Hofmeyr 7b78c860e7 hnbgw: tweak log
Change-Id: I974272b800bad4efc277d9832357e9caf34e2dd8
2023-08-08 06:23:15 +02:00
Neels Hofmeyr 4ca284cef9 hnbgw-latest: fixup for cnpool: use correct osmo-stp.cfg file name
Change-Id: I80ecfc694adb1cb44dddec30e845237676a4eead
2023-08-08 05:59:59 +02:00
Neels Hofmeyr 6101198952 hnbgw-latest: fixup for cnpool: use correct cfg file name
Change-Id: I40c2aca069114f9a07840eed11e608921ed65d26
2023-08-08 05:46:24 +02:00
Neels Hofmeyr 81bf25a96d hnbgw: fixup for cnpool: bind CTRL to 0.0.0.0
Change-Id: Ia71688f5468b3eabdead2996cc1470e467b9c10b
2023-08-08 05:40:38 +02:00
Neels Hofmeyr c2b05caf6e 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
2023-08-08 02:50:18 +00:00
Philipp Maier 52256bc898 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
2023-08-07 11:49:15 +02:00
Oliver Smith 4e2f22d69a debian-bookworm-build{,-arm}: fix temp dir removal
Change-Id: I6a0e0869986550ddfa710dfc15d7e78d8974dbc5
2023-08-02 15:46:48 +02:00
Pau Espin 9c8b5fa9c2 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
2023-07-25 15:22:45 +00:00
Oliver Smith e0a1b5b454 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
2023-07-25 15:21:35 +00:00
Pau Espin 4a9f22b864 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: cb4897e4c0
Change-Id: Id4eed548b3a552747e95784be3654952e10e96ab
2023-07-25 11:00:14 +02:00
Oliver Smith 1335eb578b 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
2023-07-21 11:28:33 +00:00
Oliver Smith 9500c29ce6 scripts/kernel-test: add KERNEL_SKIP_SMOKE_TEST
Speed up local test cycles by not running the smoke test every time.

Change-Id: I505b74e8c9b221655a97c5464f6fe4f21204a894
2023-07-21 11:28:33 +00:00
Oliver Smith c53a630c19 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
2023-07-21 11:28:33 +00:00
Oliver Smith 421bac2d86 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: 982ac61894
Change-Id: Ib859ef7389928019addecae08df2011eecda80ad
2023-07-21 10:59:03 +02:00
Oliver Smith 72ed70d4fc 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
2023-07-21 10:39:59 +02:00
Oliver Smith a05e3a66e5 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
2023-07-20 08:05:12 +00:00
Oliver Smith d9c2b81bf2 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
2023-07-18 16:58:27 +02:00
Pau Espin cb4897e4c0 hnbgw: Skip asn1 talloc mem checks in osmo-hnbgw-latest
Depends: osmo-ttcn3-hacks.git Change-Id I5c18cf2d6797bcf0bef13d71ab0b69f1403b474f
Change-Id: I1a933795ffef3cea97fcf34b1c513e71f3256c83
2023-07-18 13:28:52 +00:00
Oliver Smith cb707e83c8 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
2023-07-18 14:24:40 +02:00
Oliver Smith 29bd71264d 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
2023-07-18 14:14:36 +02:00
Oliver Smith 90e48a63e0 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
2023-07-18 14:14:36 +02:00
Oliver Smith 0660fc4e4b 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
2023-07-18 14:12:38 +02:00
Oliver Smith 94f8a8147e 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
2023-07-18 11:56:18 +02:00
Oliver Smith 82334bf123 jenkins-common: add + set default: debian bookworm
Related: OS#6057
Change-Id: I37e5393398f17c5c8809e17bb363fa86d769f2c2
2023-07-17 08:52:41 +00:00
Oliver Smith a4fd5ba37b debian-bookworm-obs-latest: new container
Related: OS#6057
Change-Id: Ie30135362e37558010f9894bb80a3684786f5aee
2023-07-17 06:33:51 +00:00
Oliver Smith f0cd1c2d58 debian-bookworm-erlang: new docker container
Related: OS#6057
Change-Id: I797ec0e6700860be8fb59bf6b1fab6fa44e53421
2023-07-17 06:33:51 +00:00
Oliver Smith 5586b016f3 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
2023-07-17 06:33:13 +00:00
Neels Hofmeyr 80ddd5df1b 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
2023-07-13 17:17:56 +02:00
Daniel Willmann 4c0cf47b19 Install liburing-dev in jenkins and build containers
Change-Id: I048c43d3bcbecfdfd26e087109fb99315e1629ec
2023-07-11 14:47:04 +00:00
Oliver Smith f52e232369 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
2023-07-11 14:28:34 +00:00
Philipp Maier e6876898a2 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
2023-07-11 13:53:18 +00:00
Philipp Maier a6e665e5e3 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
2023-07-09 08:11:48 +00:00
Pau Espin 2eb695bc44 */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
2023-07-05 13:48:55 +00:00
Oliver Smith 1a47384d81 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
2023-07-05 12:11:02 +02:00
Oliver Smith 5227834974 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
2023-06-20 14:15:58 +02:00
Pau Espin 7c0bb4e341 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
2023-06-08 19:20:46 +02:00
Harald Welte abec88d183 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
2023-04-22 13:50:25 +12:00