Commit Graph

28 Commits

Author SHA1 Message Date
Vadim Yanitskiy 709a30b536 ttcn3-{sgsn,ggsn}-test: 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: I61fef7763e6445c231ff2664036e243a9ac96ff6
Related: Icd4c2d80db934535d499598282ed9416d8088163
2021-12-14 22:09:29 +03: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
repository.

Related: OS#5327
Change-Id: Ic06532f7a67e59458652c5cf4c8f6fee8113e703
2021-11-26 18:12:50 +01:00
Pau Espin 0b842d8970 ttcn3-sgsn: latest osmo-sgsn release supports RIM
osmo-sgsn 1.8.0 supporting the VTY commands was released, so no need to
drop those.

Change-Id: I803514a28491ebe142691062f6033f179474b064
2021-11-16 19:04:45 +01:00
Oliver Smith 4ae6ba75b4 jenkins-common.sh: add image_suffix_is_latest
Make sure we run the latest-code paths for "latest-centos8" too.

Change-Id: Ibcc7dfb092b3766ef9b189ae990b43fdb746a022
2021-05-21 16:24:58 +02:00
Oliver Smith 9f9782a702 ttcn3-sgsn-test: fix config sed for latest
Change-Id: I17d0554188fad6f890f844bf978d622661290fce
2021-05-21 16:24:16 +02:00
Pau Espin 6947d06b6e ttcn3-sgsn: Update config to test RIM over GTPCv1
Related: SYS#5314
Depends: osmo-ttcn3-hacks.git I9dcf6ee2dc55bc6aba178eca30080233254f025e
Change-Id: I002da9afe5a7a3263fa4fda5d82fbc8d0faa0e18
2021-05-18 11:18:00 +02:00
Oliver Smith 033c6ab1be */jenkins.sh: 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
work.

Related: OS#3208
Change-Id: Ie68da2affda8c96b3a515a857a921a05f1bf8ef7
2021-02-26 09:32:34 +01:00
Oliver Smith 12b961942a jenkins-common.sh: add common clean up trap
Add set_clean_up_trap() in jenkins-common.sh and run it at the beginning
of the jenkins.sh files. Move the common clean up code from the end of
every jenkins.sh file into clean_up_common(), which gets called by the
trap. Add a custom clean_up() function to those jenkins.sh 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/jenkins.sh. 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
Oliver Smith 19594be9e8 Revert "RFC: allow to set configuration and/or specific testcases"
Fix error message reported by Pau:
  docker: invalid reference format: repository name must be lowercase.

This happens in the "docker run" command after the "Starting container
to merge logs" message, because the arguments to --entrypoint are not in
quotation marks. The command fails.

Logs were merged anyway, because
If03422bb8fb126fe6f204a4f8bc6edf0cbb7f194 had already reverted half the
patch and added the log merging back to the Dockerfile.

This reverts commit 73663b01f2.

Change-Id: Ie6f8270230e1f0372b63d610b7868ea8719b18ad
2021-02-12 19:07:26 +01:00
Alexander Couzens c83c5d627f sgsn: change configuration to the new NS2
Change the whole vty configuration for NS to be more flexible
and support more setups. Old configurations are invalid.

For further information see:
https://osmocom.org/projects/libosmocore/wiki/Network_service_(NS)

Depends-on: Ie9306ab4d4738c2c57a69987086e22771b30657e (osmo-sgsn)
Change-Id: I65fb4e52d22617cf8488d8ab77c970f84995560d
2021-01-28 21:55:24 +01:00
Pau Espin 18de547d3e ttcn3-sgsn: Enable osmo-sgsn SS7 multi-homing and IPv6 features in tests
Change-Id: I21dbe79705dcc23426a88174120f6f810df84749
2020-08-30 16:07:57 +00:00
Pau Espin 1f45fb08ff jenkins-common.sh: Add function to print docker network related parameters
Change-Id: Ie00561de7a4494065156a124565e2190151e6019
2020-08-27 12:49:43 +02:00
Harald Welte 306a51dd30 Enable IPv6 in docker networking
We previously only allocated IPv4 sub-nets to the network segments
created with 'docker network'.  Let's fix that by assigning both
IPv4 and IPv6 address ranges to each docker network.

Related: OS#4700
Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99
2020-08-13 15:01:58 +00:00
Neels Hofmeyr 04c20edefd collect core dumps: '--ulimit core=-1' and WORKDIR=/data everywhere
Change-Id: Ief73b53ed9da6f5af82975bc36d851277d5d3185
2020-06-21 20:58:22 +00:00
Oliver Smith 5505b95a15 ttcn3-*-test: remove implicit dependencies
Don't list debian-stretch-build and debian-stretch-titan as dependencies
anymore, now that docker_images_require finds them automatically.

Related: OS#4564
Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f
2020-05-30 09:14:06 +02:00
Oliver Smith f48c09d3bc ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS
Allow to pass options to each "docker run" line in the various
jenkins.sh scripts. I'm using this to run the testsuites and Osmocom
components in docker with the same configurations as jenkins, but with
Osmocom and testsuite binaries built outside and mounted into the
containers:

DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro"

This allows very short test cycles without a second set of configs. The
full script that makes use of this feature is in osmo-dev.git,
ttcn3/ttcn3.sh.

Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816
2020-05-06 06:22:12 +00:00
Pau Espin 3d14860d4e ttcn3-sgsn: Drop unneeded .cfg change for latest
Latest libosmo-sccp release 1.2.0 already uses same id as master.

Change-Id: Ib7473de84521c37d6408ac1235244250284bd59a
2020-01-05 11:22:36 +00:00
Pau Espin c3f157b939 Update ttcn3-*/jenkins.sh to log stdout+stderr of process to log file
This way we get VTY parsing failures as well as backtraces upon process
crash.

Related: OS#4212
Change-Id: I3d9f6de638dbc07391a32c6a0cbd469dc5adf2b5
2019-11-20 17:17:45 +01:00
Pau Espin b1999827f5 Fix ttcn3-sgsn-latest (cs7 instance override)
Change-Id: Ie45fa7875b409c3955c26d333110c36453c276f9
2019-08-19 19:14:36 +02:00
Alexander Couzens ca2ef84252 ttcn3-sgsn-master: add support for Iu
To support Iu tests, start osmo-stp when testing.

Depends-on: I66069e31c30d33934ad57cc2b8794f56ffd5c7d6 (osmo-ttcn3-hacks)
Change-Id: I4d6aef98832202652c5fe254105728430ba77119
2019-08-19 15:09:20 +00:00
Alexander Couzens 73663b01f2 RFC: allow to set configuration and/or specific testcases
Allows to pass the configuration file and/or tests to
start-testsuite.sh.

This way a single test can be specified by the command line.

If this RFC gets accepted, I would convert all other Docker.files

Change-Id: I17e480321f1e7bfa287349f438ff6990e30f1114
2019-05-16 18:55:41 +02:00
Harald Welte 7c53c9e60d Switch all osmo-*-master and ttcn3-*-test from jessie to stretch
Jessie will be EOL in June 2019, let's make the switch to stretch
before that.

Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6
2019-03-30 09:56:36 +00:00
Oliver Smith 6687896c64 ttcn3-*-test: don't hardcode /usr/local/bin/
Remove hardcoded /usr/local/bin/ paths from jenkins.sh. This caused the
*-latest tests to fail, as they have the Osmocom binaries in /usr/bin
instead of /usr/local/bin.

Related: OS#3767
Change-Id: I9d1427e66028ffd15fed211b2dab5adc37718666
2019-01-28 13:58:02 +01:00
Oliver Smith ccf62eb231 jenkins.sh: IMAGE_SUFFIX, docker_images_require()
Default value "master" of the IMAGE_SUFFIX environment variable can be
changed to "latest" to test the latest stable builds instead of the
nightly ones. Use docker_images_require() to make sure that the required
images are existing and up-to-date before running the tests.

Related: OS#3268
Change-Id: Idbb708ab16cb71bab5069127945b63388222369e
2018-10-26 10:19:05 +02:00
Neels Hofmeyr 2f61bf81e9 jenkins.sh: have one common function to collect logs
To remove code dup and prepare a change to where logs are written, add
collect_logs() to jenkins_common.sh and call that from each jenkins.sh after
the tests are done.

The 'rm -rf' is already done before a test starts. No need to do that again
after each test.

Change-Id: I5d8472ec36b07c828685b1bd7718e31392d168a3
2018-04-24 13:46:05 +00:00
Pau Espin 51deedd956 *-test: jenkins.sh: Print junit output at the end 2018-02-19 11:59:00 +01:00
Harald Welte 24829d6f78 Add ttcn3-sgsn-test 2018-02-18 12:47:16 +01:00