Commit Graph

856 Commits

Author SHA1 Message Date
Oliver Smith a0a991f412 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
2022-02-14 07:46:23 +00:00
Pau Espin 45a2b5d817 ttcn3-ggsn-tests-ogs: Configuration fixes for IPv6 tests
Change-Id: I6fe98f6642bbd42376c9ed7353b58451c104eaca
2022-02-11 18:39:23 +00:00
Pau Espin 5095686e02 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
2022-02-11 18:39:23 +00:00
Vadim Yanitskiy 44393058f6 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
2022-02-11 15:21:16 +06:00
Harald Welte 8e3b3ff43c 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
2022-02-10 22:49:24 +06:00
Vadim Yanitskiy edaa9d3033 ttcn3-bts-test: move generic config files into a directory
Change-Id: I1bc5c51306525c6829e9d8e2991555a99c9b49a2
2022-02-10 19:08:37 +06:00
Pau Espin 500f14e9db ttcn3-ggsn-test-ogs: Configure correct GTP-U GGSN address
Change-Id: Id42b591ba03f451e89b0e332edcf8f2cded9f444
2022-02-08 16:41:59 +00:00
Vadim Yanitskiy 31b54054f7 make/Makefile: generalize passing additional build arguments
Building of some images may require additional options to be passed.

Change-Id: Id1761062ac6ec1d1a4eb6a6b724e42cf576c848f
2022-02-07 17:19:36 +00:00
Vadim Yanitskiy 4403dbb0a5 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
2022-02-07 16:37:21 +06:00
Vadim Yanitskiy e8c1360b92 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
2022-02-07 16:30:20 +06:00
Vadim Yanitskiy f532d78922 fixup: debian-bullseye-titan: run 8 parallel jobs for 'make deps'
Change-Id: I8fe9ff0b7c27ae7c71bd9bac6048b3073adf6bda
2022-02-07 09:37:41 +00:00
Pau Espin 80ac90261b Add ttcn3-ggsn-ogs testsuite
This new setup allows running TTCN3 GGSN_Tests against open5gs, which
will soon gain GTPv1C support.

Change-Id: Ia6c122fce951d369a5d2362cbe99d10d61c15f49
2022-02-07 08:47:33 +00:00
Vadim Yanitskiy c0e6589279 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
2022-02-04 13:33:40 +00:00
Vadim Yanitskiy 52da726342 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
2022-02-04 13:33:40 +00:00
Vadim Yanitskiy 078d8c10d8 debian-bullseye-titan: run 8 parallel jobs for 'make deps'
This reduces the time required for building test suites.

Change-Id: I6349d8304a248c7ae2a5373bf23a691f3a1cb991
2022-02-04 13:33:40 +00:00
Oliver Smith d6c5c7a034 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
2022-02-04 12:36:06 +01:00
Pau Espin 9e9066cca8 make: Add OPEN5GS_BRANCH build arg
Change-Id: I29f85a18f5629e50dc1db527e931a248ab69f8e4
2022-02-03 18:53:52 +01:00
Vadim Yanitskiy 27031af313 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
2022-02-03 13:56:25 +06:00
Vadim Yanitskiy bfabf9aa42 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
2022-02-03 13:55:41 +06:00
Vadim Yanitskiy 647a5fdef9 ttcn3-pgw-test: set PGW_Tests.mp_run_prog_log_path to '/data'
Change-Id: Idd5a37e5768c400d410958149b97869db1e92fb1
Depends: I04ab92c13fcd893d39dbb6a8a8af5ff41d207e36
Related: SYS#5602
2022-02-02 23:34:56 +06:00
Vadim Yanitskiy 79534bb59e 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
2022-02-02 23:31:47 +06:00
Vadim Yanitskiy cb73113dc4 ttcn3-pgw-test: make osmo-uecups-daemon more verbose
Change-Id: Id491b4f9db63c82f3dc58f3fc523b4f84fea01e0
Related: SYS#5602
2022-02-02 23:31:47 +06:00
Oliver Smith 3817abe0e4 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
2022-02-02 10:02:54 +00:00
Vadim Yanitskiy bd5b02050d 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
2022-01-31 09:54:06 +00:00
Vadim Yanitskiy a0c91c8dbb 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
2022-01-31 09:54:06 +00:00
Vadim Yanitskiy 290df47815 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
2022-01-29 18:54:08 +06:00
Vadim Yanitskiy ed54b1c967 ttcn3-bsc-test/jenkins.sh: fix '--ulimit core=-1' set twice
Change-Id: I3223f8f4cc09797de44971215a94fc62ad8d263b
2022-01-26 16:43:27 +00:00
Vadim Yanitskiy da4fcd23b2 osmo-uecups-master: add more complete osmo-uecups-daemon.cfg
Change-Id: I16e3f60485039efd3b965009608982c27511b680
Related: SYS#5602
2022-01-26 16:43:04 +00:00
Vadim Yanitskiy a4d794163e osmo-uecups-master/Dockerfile: fix copy-pasted ARG OSMO_BSC_BRANCH
Change-Id: Id713ddd24b7ba674d1a2035a0b3b62b1b9d26d9e
Related: SYS#5602
2022-01-26 16:42:45 +00:00
Vadim Yanitskiy 4f57079115 ttcn3-pgw-test: set '--ulimit core=-1' for osmo-uecups-daemon
Change-Id: I16f4eefa2bb48486c139ca63f2a48346f0532a8c
Related: SYS#5602
2022-01-26 00:23:13 +06:00
Vadim Yanitskiy 13d4b200b2 ttcn3-pgw-test: set '--ulimit core=-1' for open5gs-{nrf,upf,smf}
Change-Id: I2da2d502f339fc4cbea8fa72414eeaeb6078dfd9
Related: SYS#5602
2022-01-26 00:23:13 +06:00
Harald Welte 7c32f1deb7 ttcn3-pgw-test: add Dockerfile, jenkins.sh and configs for open5gs
Change-Id: I69e2f5be8204cc4fd0cc0f4eb019ef1104121b60
Tweaked-By: Vadim Yanitskiy <vyanitskiy@sysmocom.de>
Related: SYS#5602
2022-01-26 00:23:13 +06:00
Harald Welte 181c41e725 gerrit: Upgrade to 3.4.3
Change-Id: I91ebd53ea7279f76950cde959ffa2472d8f78593
Closes: OS#5404
2022-01-17 17:50:23 +01:00
Harald Welte e8c4a7fa65 gerrit: upgrade to 3.3.9 based container
... primarily as intermediate step towards 3.4

Related: OS#5404
Change-Id: Iabb36f0754773dc2e8a5be7d44979b85034e2d01
2022-01-17 17:50:13 +01:00
Pau Espin f6dee7ff95 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
2022-01-05 12:44:16 +01:00
Pau Espin 878139ec79 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
2021-12-24 12:22:27 +00:00
Oliver Smith f621a7d96f 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
2021-12-24 10:52:12 +00:00
Oliver Smith 140a227472 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
2021-12-23 16:52:11 +01:00
Oliver Smith 2aee5862d8 osmo-ggsn-*: install iproute2 for kernel tests
Add the package providing "ip", as debian bullseye doesn't have it
installed by default anymore.

Fix for:
  /kernel-test/qemu-ifup.sh: 9: ip: not found

Related: OS#4969
Change-Id: I95560868a899169bf0cb05a02d5034d9a77b6af7
2021-12-17 10:38:51 +01:00
Oliver Smith a7865832fa scripts/kernel-test/run-qemu.sh: update qemu args
Get rid of -nodefconfig, it has been removed in qemu 3.1. We are
supposed to use -no-user-config instead, which we already do.

Fix for this error we see since migrating to debian-bullseye:
  qemu-system-x86_64: -nodefconfig: invalid option

Related: OS#4969
Related: https://qemu.readthedocs.io/en/stable/about/removed-features.html#nodefconfig-removed-in-3-1
Change-Id: I4a00f90980bf6d141ef8d86786e08d405db6db0b
2021-12-17 10:20:58 +01:00
Oliver Smith dc29c67909 debian-bullseye-titan: install ping
Add ping, so ttcn3-tcpdump-start.sh from osmo-ttcn3-hacks.git works as
expected. It is supposed to wait until tcpdump is properly capturing
packets, by generating dummy packets with ping and waiting until the
pcap file gains size. However since ping is currently not installed, it
will just wait 10 seconds before executing tests.

Fix for:
  Waiting for packet dumper to start... 0
  Waiting for packet dumper to start... 1
  Waiting for packet dumper to start... 2
  Waiting for packet dumper to start... 3
  Waiting for packet dumper to start... 4
  Waiting for packet dumper to start... 5
  Waiting for packet dumper to start... 6
  Waiting for packet dumper to start... 7
  Waiting for packet dumper to start... 8
  Waiting for packet dumper to start... 9

Related: OS#4969
Change-Id: I46cf22e7eab7dcd4b3835a8c7aa48654aef6c65a
2021-12-16 16:02:24 +00:00
Oliver Smith f0e60705c0 debian-bullseye-titan: sort pkgs alphabetically
Change-Id: Id5e1d6a3a1705234f25e7c346e2fcf1d3741570d
2021-12-16 16:02:24 +00:00
Vadim Yanitskiy f7290d31ff Add Dockerfile for OpenBTS-UMTS
Change-Id: Ibbab5973b84047ee7654a5fb2a8e4b36e1d43847
2021-12-16 13:39:02 +00:00
Oliver Smith 5118a44ed8 debian-bullseye-obs-latest: new image
Add missing container for -latest tests. Currently this causes the
-latest tests to fail.

Related: OS#4969
Change-Id: I1230e87784bc21b5a6424db0bd8734181ead9bfd
2021-12-16 13:06:47 +01:00
Harald Welte 14221979b4 sctp-test: Upgrade to bullseye
Change-Id: I681802fd779530878c2d2358ebf90b8e2adb4870
2021-12-16 11:51:33 +01:00
Harald Welte f0554efa92 nplab: Switch from stretch to buster
The test suites require guile-2.0 so we have to stay with buster
and cannot upgrade to bullseye (guile-3.0 only).

Related: OS#4969
Change-Id: I30c05efbc6c7a21cad71b207e723ef958f1ac9be
2021-12-16 11:40:17 +01:00
Harald Welte c3874143c0 Switch ttcn3-* master tests from Debian stretch to bullseys
So far we were using ancient Debian 9 (stretch) for our IUT
containers.  Let's upgrade that to Debian 11 (bullseye).

Related: OS#4969
Change-Id: Ic6bece9cb695e6eccfcb1e83fdbf1048724a3cf9
2021-12-16 11:40:17 +01:00
Harald Welte 0f74af6083 titan: move from debian-stetch-titan to debian-bullseye-titan
So far we were executing all our TTCN-3  tests from a container
image with Debian stretch (9) plus a custom more recent eclipse-titan
package from the osmocom feed.

Let's update the container base OS from stretch (9) to bullseye (11)
while using the same packaged eclipse-titan version (8.0.0) for running
the tests.  So this should be a low-risk change, as titan runtime
remains identical.

I've executed all test suites locally and couldn't see any regressions.

Related: OS#4969
Change-Id: Ib3bdfa3bec8f8ef42c55ca61cdee8fbca923874f
2021-12-16 11:40:17 +01:00
Oliver Smith 6f43284ee5 jenkins-common.sh: non-jenkins: unique build tag
Support running multiple TTCN-3 testsuites in parallel when the
jenkins.sh scripts get called from outside of jenkins too.

Closes: OS#5358
Change-Id: Iaaf5719f758553687f2ab57975be275e7ac07e36
2021-12-16 11:27:57 +01:00
Harald Welte 84a3680666 nplab-*test: Fix printing of junit on stdout
Before this patch the printing of the junit.xml to stdout fails:

+ collect_logs
+ cat '/tmp/tmp.CzafJpQyw8/*/junit-*.log'
cat: '/tmp/tmp.CzafJpQyw8/*/junit-*.log': No such file or directory
+ true

Change-Id: I600d3bdb3de23ef6f381cd5b81e2b851856b2b9b
2021-12-15 20:08:07 +00:00