Commit Graph

1173 Commits

Author SHA1 Message Date
Pau Espin cc7f9b4896 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
2022-04-07 19:36:56 +02:00
Vadim Yanitskiy 6ab6e52249 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
2022-03-26 00:08:56 +03:00
Pau Espin 913930f570 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
2022-03-15 14:40:30 +01:00
Pau Espin 2f3aff2a23 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
2022-03-08 13:56:03 +01:00
Vadim Yanitskiy 63531ac474 centos8-repo-install-test: set UPSTREAM_DISTRO=almalinux:8 in Makefile
Otherwise 'debian:bullseye' is used by default when running make.

Change-Id: I1744f5199b1686ee615173572afee524104eb91f
2022-03-04 03:34:04 +07:00
Oliver Smith 2ce4f7593b 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
2022-03-01 11:54:19 +00:00
Pau Espin 254464d830 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
2022-02-25 17:59:22 +01:00
Oliver Smith 5e0efb16e8 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
2022-02-22 12:06:38 +01:00
Oliver Smith 0f63ef4b6d 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
2022-02-22 12:00:12 +01:00
Pau Espin 107e1b9bca ttcn3-ggsn-test-ogs: Run all tests
Change-Id: If400fe325d3fc9a0df168d41b3a1fe68c0e37d2f
2022-02-21 10:36:26 +00:00
Daniel Willmann f8847e202a Add ttcn3-hnbgw-test docker container
Only works in OSMO_HNBGW_BRANCH=pmaier/mgw2 for now

Change-Id: I7e06c1d4365a34b8b6b02a4748714694dfa14554
2022-02-17 19:31:10 +01:00
Daniel Willmann 461a858c0a osmo-hnbgw-master: Fix build dependencies
Change-Id: I44c7bb81138b0a10519e59440a20fc7a43e3e480
2022-02-17 19:31:07 +01:00
Pau Espin 79a08990b4 Remove debian-buster-erlang
We don't need the image anymore, we use debian-bullseye-erlang.

Change-Id: I6f22642f5f67a173b17db55aa7a7bda3d9debd54
2022-02-16 19:28:53 +00:00
Pau Espin 987c12442d 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
2022-02-16 17:42:03 +00:00
Pau Espin e4f5dc89a4 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
2022-02-16 15:50:32 +01:00
Oliver Smith 5c158b326a 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
2022-02-14 08:56:27 +01:00
Oliver Smith 266cb2165c common/pipework: deduplicate
Move the pipework script from several image directories to the common
dir.

Change-Id: I88ff40ca69c9ee76bef9bb8f24f66ca9d5ac751a
2022-02-14 07:46:23 +00:00
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