Commit Graph

1155 Commits

Author SHA1 Message Date
Oliver Smith 2af9f16715 debian-bookworm-build: add virtualenv
Fixes: OS#6430
Change-Id: I5d087b8edb9e77a5226df9e4f55e04480eea45dd
2024-04-03 11:40:04 +00:00
Pau Espin 882c26b0d8 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
2024-04-02 10:32:30 +02:00
Pau Espin 08f9121396 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
2024-04-02 10:32:27 +02:00
Vadim Yanitskiy 9f40fef768 ttcn3-bsc-test-sccplite: osmo-bsc.cfg: remove deprecated 'mgw remote-ip'
Change-Id: Ie322315dd1608636002d4003e5f8629925041476
2024-03-28 04:43:16 +07:00
Vadim Yanitskiy 0448871bac */osmo-bsc.cfg: BTS type 'sysmobts' (deprecated) -> osmo-bts
Change-Id: I98ea9e96d490473efbbe189842ed9f547060dc7d
2024-03-28 04:42:35 +07:00
Vadim Yanitskiy 9c63801efe 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
2024-03-26 21:05:14 +07:00
Vadim Yanitskiy 78fde8b936 ttcn3-*-test: set OSMO_SUT_{HOST,PORT} for more testsuites
Let's also retrieve talloc reports for these testsuites.

Change-Id: Iaa94dd200fdb98962b784cb507c9995096232dc9
2024-03-25 17:35:13 +00:00
Oliver Smith d7c50db104 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
2024-03-25 13:56:47 +00:00
Oliver Smith 7c6f7f466c 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
2024-03-25 13:31:09 +00:00
Oliver Smith ef173eb534 ttcn3-bts-test: abort if missing osmo-config-merge
Change-Id: I9cea4affac0b3981c88078581a070f98649da667
2024-03-25 14:13:39 +01:00
Oliver Smith d8c51cce64 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
2024-03-25 12:21:12 +01:00
Oliver Smith 59dcbf762c 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
2024-03-25 12:21:12 +01:00
Oliver Smith 5946a075fa 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
2024-03-25 12:21:12 +01:00
Oliver Smith aad045f5b6 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
2024-03-25 12:21:09 +01:00
Vadim Yanitskiy 97b719db53 openbts-umts: fix apt: use archive.debian.org
This helps to get access to Debian 8 repositories in 2024.

Change-Id: Ia869476feeb67e2b3313b5d75ca01eaff41597ba
2024-03-20 17:09:46 +07:00
Oliver Smith 3342c16ca7 debian-bookworm-build: add libbladerf-dev
Related: OS#6409
Change-Id: I3c3fe95d8ebb21f7691a491144885c7deb8049a5
2024-03-18 12:39:37 +01:00
Vadim Yanitskiy 47c44ac537 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
2024-03-07 18:24:13 +07:00
Pau Espin 78d8eb2f4a 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
2024-03-04 19:06:06 +00:00
Pau Espin 988fe310e7 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
2024-03-04 19:06:06 +00:00
Harald Welte 8f8568b1e3 cosmetic: .txt file shouldn't have execute permissions set
Change-Id: Ib1e0a79b97ae1af07e206b3be7762cc805820ae1
2024-03-04 12:01:01 +00:00
Oliver Smith 73348e51df ttcn3-ggsn-test: tweak log options
Change-Id: I6c3095f4d3378d2026d3720bc32e27ce4c8345b3
2024-03-04 09:32:07 +01:00
Oliver Smith f2786e8573 ttcn3-ggsn-test: enable dynamic debug
Enable loglevel=8, as otherwise the messages do not show up.

Change-Id: I048646c4f90233939809546d30c94c4218eedbb1
2024-03-04 09:31:34 +01:00
Oliver Smith 5494300e60 scripts/kernel-test: add /dev/null
Some busybox programs need /dev/null, add it to the initramfs.

Change-Id: Ie583ae816b517c10d13d77aa45155fc4d1209c26
2024-03-04 07:50:38 +00:00
Pau Espin 772482145f ttcn3-pgw-test: Configure open5gs-smfd S2b/S6b/P-CSCF related bits
Depends: osmo-ttcn3-hacks.git Change-Id I38e469edf0e00feca5a648035b64645e2c905937
Change-Id: I3ff503990167f52ddb94a7719e2773db3f889a39
2024-02-28 13:12:01 +00:00
Oliver Smith e24442f9a9 ttcn3-ggsn-test: kernel-gtp: add ipv6
Related: OS#6096
Change-Id: If3549db216ff89bdb963744bb38015ad68d4cf6a
2024-02-28 10:06:32 +00:00
Pau Espin 5d0361210b 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
2024-02-21 18:23:21 +01:00
Pau Espin db7d74263c ttcn3-epdg: Create tun with iface name gtp0
As done in the default/usual config.

Change-Id: I066c22a381ab85762c8ef247a5eb248f7adf6c71
2024-02-21 18:22:41 +01:00
Oliver Smith e39bea3ae5 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
2024-02-19 09:39:42 +00:00
Pau Espin 11b9d4c85c epdg: Configure gtpu tunnel
Related: OS#6235
Change-Id: Ifeece08cdcceb378ae1e195cada5bfef54a1e2bd
2024-02-14 18:35:06 +01:00
Vadim Yanitskiy ca7db6c794 fixup: ttcn3-bts-test: do not start osmo-bts-virtual / virtphy containers
Change-Id: I9a38356be1f970a2b8f1bf51bfc220471502682f
Related: OS#6352
2024-02-12 03:34:07 +07:00
Vadim Yanitskiy 8c6ebc8c76 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
2024-02-09 18:02:36 +07:00
Pau Espin 27a8a92deb 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
2024-01-22 13:46:17 +01:00
Pau Espin 26d9e95c11 ttcn3-epdg: Add section to control logging
Similar as to what's defined in osmo-epdg.git/config/sys.config.

Change-Id: I7b9a3421b5f0f384324bb0f9b6de3fffdceaef53
2024-01-18 14:10:40 +01:00
Pau Espin dcb9a59bad 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
2024-01-17 19:32:59 +01:00
Pau Espin e988b37ea5 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
2024-01-16 19:48:57 +01:00
Pau Espin 9f49f87963 ttcn3-epdg: Set new osmo-epdg diameter connect/wathdog configs
Depends: osmo-epdg.git Change-Id I99b5e02264c2c35a3fbfcd2d6083a07e2cfea566
Change-Id: I3632abb8b33d5f2636f443573196d73ea8d3c818
2024-01-16 18:40:53 +01:00
Harald Welte f85bbfbf23 upgrade gerrit to 3.7.6
Change-Id: I6266b1dbfbad71aca95d45f812354f7336b8bd69
2024-01-10 17:04:30 +01:00
Harald Welte 424a787ce4 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
2024-01-10 17:04:21 +01:00
Vadim Yanitskiy 659a62f97a 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
2024-01-09 21:00:20 +07:00
Vadim Yanitskiy f73fc24132 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
2024-01-09 19:35:37 +07:00
Pau Espin 97e22c8d5b 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
2023-12-22 14:29:04 +01:00
Pau Espin 6b7f4cb1ba ttcn3-mme: Set log level of open5gs-mmed to debug
INFO is in general not enough to debug tests.

Change-Id: Ic91571f0caf138dc2ac798d75b0600ad265473c3
2023-12-22 14:29:04 +01:00
Vadim Yanitskiy e384157228 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
2023-12-15 15:07:38 +07:00
Vadim Yanitskiy 39d26ce8de 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
2023-12-15 14:57:28 +07:00
Philipp Maier f4e2d5c1e5 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
2023-11-29 11:01:03 +01:00
Philipp Maier e104fdae7e 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 c9820d7b36.

Change-Id: I101d27ae8ed7449b199e49795a3561436c2532dd
Related: OS#6275
2023-11-29 11:00:16 +01:00
Philipp Maier c9820d7b36 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
2023-11-28 11:17:42 +01:00
Oliver Smith 15caf486bb 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
2023-11-23 16:30:51 +01:00
Oliver Smith 4836524115 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
2023-11-23 16:30:51 +01:00
Oliver Smith 71a4f4c9ac 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
2023-11-23 16:30:51 +01:00