Commit Graph

36 Commits

Author SHA1 Message Date
Oliver Smith 6a8118dad8 ttcn3: use debian-bookworm-titan
Related: OS#6057
Change-Id: I2017dd3888670c475b96e692d911a433484f3df9
2023-08-14 09:28:24 +00:00
Oliver Smith f997b4e771 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/, 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
2023-01-16 15:19:29 +00:00
Pau Espin a719a8db61 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
2022-09-20 12:09:32 +02: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 305ce55b74 ttcn3: write Osmocom repository to configs
Write a line like 'Misc_Helpers.mp_osmo_repo := "nightly"' into the
TTCN-3 config file (e.g. BSC_Tests.cfg), before starting the testsuite.
This allows executing different code paths in the tests based on the

Related: OS#5327
Change-Id: Ic06532f7a67e59458652c5cf4c8f6fee8113e703
2021-11-26 18:12:50 +01:00
Daniel Willmann 87c03a40c5 ttcn3-gbproxy-test*: Update gbproxy NS timers
Change-Id: I7d436327bb57a3f6c6b071c28308c8a74561d93c
Related: OS#4952
2021-05-28 18:48:55 +02:00
Harald Welte 967d903040 remove deprecated 'logging level all everything' from configs
it has been deprecated in libosmocore.git 2.5 years ago:

commit 7e0686c6b4b456ec4e6e15689694b1bcf96c301f
Author: Neels Hofmeyr <>
Date:   Mon Sep 10 20:58:52 2018 +0200

Change-Id: Ia6946fae497319a894d4e664ac8642340620822e
2021-04-25 13:11:03 +02:00
Harald Welte 66a36a078d gbproxy: Switch to IP-SNS on the BSS side
When testing gbproxy with an IP BSS, we want to use IP-SNS as that
is the more relaistic use case in practice.

This un-breaks the dockerized tests since I90bd101096979b170c38fa2a80abb80d296c4d2e
was merged in osmo-ttcn3-hacks.git

Change-Id: Id1324e019b7f148f8d33977c0089e996089e1e59
2021-04-12 15:37:13 +02:00
Harald Welte a8d0c95710 gbproxy: Add mp_gbproxy_ip to check BVC FSM state
In docker-playground.git I272e43b9be8ba53d8a815e8ab099c939f63413a7
we introduce FSM state introspection and we need to add the CTRL
hostname here.

Change-Id: Idcd77353a661cfc1685ded64b5993ff63637addc
2021-04-09 10:40:54 +02:00
Oliver Smith 033c6ab1be */ set -e after setting clean up trap
Abort the script and trigger the clean up script, whenever any of the
commands below to prepare the testsuite are failing. This saves time
with figuring out why suddenly all or most tests are failing, and avoids
running the entire testsuite on jenkins if it's obviously not going to

Related: OS#3208
Change-Id: Ie68da2affda8c96b3a515a857a921a05f1bf8ef7
2021-02-26 09:32:34 +01:00
Oliver Smith 12b961942a add common clean up trap
Add set_clean_up_trap() in and run it at the beginning
of the files. Move the common clean up code from the end of
every file into clean_up_common(), which gets called by the
trap. Add a custom clean_up() function to those files that
need additional clean up.

Replace explicit container stop commands (for containers attached to the
docker network) with one call to network_clean() in clean_up_common(). It
kills all containers attached to the docker network.

The motivation for this change is the upcoming optional build of initrd
and kernel during ttcn3-ggsn-test/ After building these, a
short smoke test will be performed to make sure we can boot the kernel
and initrd, before continuing to run the entire testsuite against it. If
building or the smoke test fails, we must do a proper clean up of the
network and fix permissions.

Related: OS#3208
Change-Id: I807c6221d22fec31db23e2516e477a3eb43347fb
2021-02-26 09:32:06 +01:00
Pau Espin c63a131a60 Remove test backward compatibility with older osmo-* versions
These changes are no longer needed since master versions of whole CNI
have been recently released.

Related: OS#5042
Change-Id: I6f491b58d4576b22c8ff3ab56a7b9e17163a8739
2021-02-25 16:41:47 +01:00
Alexander Couzens 6e9f0dcc88 gbproxy: update sns configuration to use ip-sns-bind
With libosmocore commit the SNS configuration requires a ip-sns-bind vty configuration
to define the binds which should be use.

Related: SYS#5354
Depends-on: I9ab8092bf286e7d90e92f5702a5404425e959c84 (libosmocore)
Change-Id: I11541540468584fc17a18fa294da5c9813c28d64
2021-02-16 21:24:29 +01:00
Oliver Smith a2104231f2 ttcn3-gbproxy-test: remove broken merge logs cmd
Remove commands that result in a docker error message, like in

Change-Id: I9dec8d27c0f09cd8ee75255c8dfa314c70387ee9
2021-02-16 17:36:35 +00:00
Oliver Smith 6f6724178b ttcn3: use REGISTRY arg with debian-stretch-titan
Allow jenkins to fetch the image from our private docker registry.
Outside of jenkins, the image is built locally just like before.

Related: OS#5017
Change-Id: I46cc176ea09d8badc359b627d7ce2f459211258c
2021-02-11 16:27:23 +01:00
Oliver Smith ce824cc3e1 ttcn3-{fr,gbproxy}-test: use ttcn3-docker-run too
Move the shared pipework script to the base image, and call it in if WAIT_FOR_NETDEV is set. Use
as entrypoint in both Dockerfiles and remove the custom entrypoint
scripts (which are the same as now).

Related: OS#5017
Change-Id: I2889abe94ed522a205890e5cb39e09cbebfbd820
2021-02-11 15:45:40 +01:00
Oliver Smith 914a486ef1 debian-stretch-titan: prepare: start/stop links
Create symlinks to ttcn3-* and ttcn3-* in the script instead of in each of the ttcn3 Dockerfiles.

Related: OS#5017
Change-Id: I634cf71cff7936efe6e0461d21dc1119de922ada
2021-02-11 15:45:40 +01:00
Oliver Smith 892d910444 ttcn3: move prepare code to shared script
Move the git fetch/checkout code and make call to build the testsuite,
to debian-stretch-titan/ In the next patch, I
will extend the script to update deps right before building too (e.g.
because OSMO_TTCN3_BRANCH changed).

Related: OS#5017
Change-Id: I4b5bedf058dc527e821f9b7204c632820e671af9
2021-02-11 15:45:40 +01:00
Oliver Smith 61fed0ad39 ttcn3: move initial clone to debian-stretch-titan
Clone the osmo-ttcn3-hacks and all dependency repositories less often by
moving related commands to the shared debian-stretch-titan image.

Remove the 'git checkout -f -B master origin/master' line, because the
master branch is checked out by default.

While at it, move the shared "git config" commands too, and move them
before cloning the repositories, so they don't run again whenever the
deps change (logic to invalidate the cache if deps change will be added
in the next patch).

Related: OS#5017
Change-Id: I2bb142dce061eba4b6a828c4e435510e309989fd
2021-02-11 15:45:40 +01:00
Oliver Smith db3f98113c ttcn3: remove /root/projects/git symlink
Remove leftover from old TTCN-3 build scripts, before refactoring ttcn3
Dockerfiles. This line has already been removed in 357ec806 from 2017 for

In osmo-ttcn3-hacks.git, this is only referenced in the obsolete
bin/install.script (looks like we could remove that, together with the
rest of the bin dir?).

Related: OS#5017
Change-Id: Id23e7fae58ba246916a38aa0a10035d4f67f7588
2021-02-11 15:45:40 +01:00
Daniel Willmann 60f4d39500 gbproxy: Fix ip-sns VTY config
Change-Id: I8faa5d29bfffe50c76c1b907717144ff893126a3
Related: SYS#5354
Depends: Ida979f3b9daa5f7280a629441e4006a7635653b0 (libosmocore.git)
2021-02-10 13:57:31 +01:00
Daniel Willmann ba06957cf4 Add osmo-gbproxy-* container for osmo-gbproxy
Uses the new repo split off of osmo-sgsn

Related: OS#4992
Change-Id: I1e7ede4d1da54e3bcb286213b34401bd9dcf7cc1
2021-02-04 16:48:23 +01:00
Harald Welte 366ace7461 ttcn3-gbproxy-test: s/sgsn/gbproxy/
the script was copied from the SGSN test suite and still
mentioned sgsn at several places when actually intending to mention

Change-Id: I8709121d8501da4afc1c8dda70356096d331a9b0
2021-01-25 12:48:02 +00:00
Harald Welte 22b58d7ecc osmo-gbproxy: fix configuration
also, only change those values from their default values that are
neccessary to change; fall-back on the defaults whenever possible.

Change-Id: I5fba21ddf1854ed2b4f829785ab016dfa284456e
2021-01-21 20:54:18 +01:00
Harald Welte 98365d159f gbproxy: Use separate NS-VC for data + signaling
This follows the change implemented in osmo-ttcn3-hacks.git
If0e404bdf2c30a5e18748695608611be83f61109 to use data-only
and signalling-only NS-VCs on the SGSN side

Change-Id: I58f8a6d1c8d01551d366bd7d0dbfb892cce512ae
Requires: osmo-ttcn3-hacks.git If0e404bdf2c30a5e18748695608611be83f61109
Related: OS#4953
2021-01-21 09:43:20 +00:00
Harald Welte 9f53e36985 gbproxy,pcu,sgsn: Update config files
In upstream I9798e639b4bc8658482945970775b012b5840779 we introduce
two additional fields per NSVC (data_weight, signalling_weight). Make
sure those are specified everywhere.

Related: OS#4953
Requires: osmo-ttcn3-hacks.git I9798e639b4bc8658482945970775b012b5840779
Change-Id: Ic607b3edc3bf724a8b2dbd6be8c806002c229509
2021-01-21 09:43:20 +00:00
Harald Welte d12441a935 gbproxy: Update configs for SGSN poool with 2 SGSN, NRI, ...
Change-Id: Iac57e079d1375f186ddc200471bad1fa622c8860
2021-01-17 19:26:34 +01:00
Daniel Willmann 6ef07ae1b9 gbproxy: Enable IP-SNS towards SGSN
Change-Id: Iebbad7131d73c15ef7ded5eadce882c653b8bf2c
2021-01-11 01:51:24 +01:00
Daniel Willmann 096f6a0030 ttcn3-gbproxy-test: Fix pcap capture with dumpcap
In commit 2279aac6 dumpcap is used to capture pcaps, but dumpcap fails
if the directory isn't writable for everyone.
Commit 62ac27779 only fixed this issue for frame relay, this simply
mirrors the change for ttcn3-gbproxy-test

Change-Id: I11dcf9efd0b06544a82e31dec03fe76e182fd0d3
Related: OS#4518 SYS#5115
2021-01-08 16:51:37 +01:00
Daniel Willmann da8c47ecb5 ttcn3-gbproxy-test: Fix osmo-gbproxy config
Change-Id: If6fd41d0cecb807f002d87e18d4b0d80f41977ef
2021-01-05 18:48:46 +01:00
Harald Welte a6fc3bf44c osmo-gbproxy: Change config file to comply with change in upstream
In osmo-sgsn Change-Id Id67592aa7712e5e04e7264b2fb8f26d57eb7e69e we
have changed the config file syntax and must adjust here accordingly.

Change-Id: I8770baac2298ee9a71d7428ea30600751783b4f9
Depends: osmo-sgsn Id67592aa7712e5e04e7264b2fb8f26d57eb7e69e
2020-12-30 00:15:25 +01:00
Harald Welte 2279aac61c ttcn3-gbproxy-test: Use dumpcap instead of tcpdump
This is required for creating proper pcap files with both ethernet
and framerelay/hdlc traffic.

Change-Id: Id237c25b12e70a89f12bd6d745b09c3abf9b7a7a
2020-12-11 15:44:46 +01:00
Harald Welte b83c28fc34 Add ttcn3-gbproxy-test-fr for FR related testing
Testing FR support in osmo-gbproxy is a bit more complicated
as it involves the "hdlc" net-devices privded by the hdlc_fr.ko
kernel module.

So we need to
* run on a host with actual hdlc net-devices (e.g. dahdi_dyamic_loc)
* move those net-devices into the containers after starting them
* wait for the net-devices to appear in the containers before starting
  either gbproxy or the test suite

Change-Id: Id4b52877db53cb6e59f6d0d3f754aaae633949e8
2020-11-30 15:50:31 +01:00
Harald Welte 70fcc1124b NS_Configuration: Adjust config regarding support for NS-VCG
In osmo-ttcn3-hacks.git Change-Id If1220852785853f8a5d8de183d5053ddd6ccb958
we introduce support for multiple NS-VC inside a NS-VCG.  This modifies
the configuration structures, and we need to adjust all config files

Change-Id: I6ac250555c3ac2aa8feb70bd3a052aafec5d4210
2020-11-13 09:23:11 +01:00
Daniel Willmann d047266211 gbproxy: Fix docker config for SGSN NS port
Related: SYS#5002
Change-Id: Idcd594714b3a525d496c471f16b62addf7d25ea9
2020-10-19 14:57:35 +00:00
Daniel Willmann 687ea83fc6 Add GBProxy_Test
Change-Id: I6661887c741b44aa0927079f79b4d5fcc40d8acf
2020-10-15 17:02:14 +02:00