Commit Graph

62 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
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 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
repository.

Related: OS#5327
Change-Id: Ic06532f7a67e59458652c5cf4c8f6fee8113e703
2021-11-26 18:12:50 +01:00
Pau Espin 8071b00c6b ttcn3-pcu: Update config for latest after new osmo-pcu release
New osmo-pcu 1.0.0 which supports all expected features. Hence we can
drop special quirks to have tests passing in latest.

Change-Id: Ieb85dac479e6960e4160767e514084b80edd297b
2021-11-16 19:12:27 +01:00
Pau Espin 14270502f2 ttcn3-pcu: use new Neighbor Address Resolution interface in master
Since current master, osmo-pcu and osmo-bsc support Address Neighbor
Resolution using new PCUIF over IPA multiplex, deprecating the old CTRL
interface used until now.

Since the old CTRL interface is not yet removed in order to avoid
breakage of old deployments (only marked as
deprecated and not used by default), let's keep support to run the
existing tests with the old interface to keep them being tested in
latest release, while instruction both osmo-pcu and TTCN3 PCU_Tests to
use the new interface in master.

Once we do a new osmo-pcu release, we can drop support for the old
interface in tests, and drop it completely from osmo-pcu over the
following next release.

Depends: osmo-ttcn3-hacks.git Change-Id I05f1aabc64fc5bc4740b0d8afd8990b485eacd50
Related: SYS#4971
Change-Id: I01d0604f294dc88dc32137c976f424655849d57e
2021-09-14 09:11:27 +00:00
Oliver Smith 21a42f2007 ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0
Related: SYS#4878
Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d
2021-08-10 10:37:27 +00: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
Alexander Couzens 74e10366e1 ttcn3-pcu-sns: add vty parameter to allow ttcn3 to connect
Otherwise it will try to connect to 127.0.0.1.
Fixes jenkins ttcn3 test TC_sns_1c1u_unconfigured_nsvc.

Change-Id: I4b375a60c4f948c282337ca30643d14407f8239e
2021-04-14 12:42:18 +00:00
Pau Espin f8d5d50029 ttcn3-pcu: Disable sending all DATA.ind on pcu -latest
Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1
Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78
Related: OS#5020
2021-03-12 11:51:35 +00:00
Pau Espin 2c846f60e6 Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest"
This reverts commit b70b3c1a80110329aa7c6a8be5a9e0ced511be13.t

The patch was merged too quickly before osmo-ttcn3-hacks.git one.
Revert temporarily to avoid all tests failing due to non-existant module
parameter.

Change-Id: I61850cb0ea5ef2a86657dc8390ad7dbcb943b4bf
2021-03-08 20:32:11 +01:00
Pau Espin b70b3c1a80 ttcn3-pcu: Disable sending all DATA.ind on pcu -latest
Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78
Related: OS#5020
Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92
2021-03-08 09:33:02 +00:00
Pau Espin bd79c36e29 Get rid of uneeded param StatsD_Checker.mp_enable_stats
This param is currently set to true by default and will be removed soon.

Related: OS#5042
Depends: osmo-ttcn3-hacks.git Change-Id I4e2049c109986906d3c985ca2282174b1abff581
Change-Id: I3c7e7dc985a339d884dc388b33bf8a6ec986c5b7
2021-02-26 12:45:20 +01: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 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 2b38b8e779 ttcn3: move shared run code to script
While I'm at it with tidying up the Dockerfiles, create a
ttcn3-docker-run.sh with shared run code.

Related: OS#5017
Change-Id: Id90769707158f0488eca2313c57b99ea7a4a27c8
2021-02-11 15:45:40 +01:00
Oliver Smith 914a486ef1 debian-stretch-titan: prepare: start/stop links
Create symlinks to ttcn3-*-start.sh and ttcn3-*-stop.sh in the
prepare.sh 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/ttcn3-docker-prepare.sh. 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
ggsn-test.

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
Pau Espin 0d6b421aa7 ttcn3-pcu: Update configs to support NACC tests
Change-Id: If027812940579a7f344a36543e85518cc096905b
2021-02-01 11:21:06 +00:00
Harald Welte 21b578c784 ttcn3-pcu-test-sns: Fix syntax errors in config file of previous commit
Change-Id: Ia291579d792019779ca40bc3cc1955dede6aa2e0
Fixes: I401f53bddd81e8386c01392d9a59c3b5ca8e9802
2021-01-25 09:54:41 +01:00
Vadim Yanitskiy e9c7b86978 ttcn3-pcu-test-sns: fix DTE 'Encoding an unbound integer value'
Starting from build #245 [1] all test cases fail due to DTE:

  RAW_NS.ttcnpp:62 Dynamic test case error:
    Text encoder: Encoding an unbound integer value.

This happens because fields 'data_weight' and 'signalling_weight'
are both unbound for two additional NS providers.  Fix this.

[1] https://jenkins.osmocom.org/jenkins/view/TTCN3-centos/job/TTCN3-centos-pcu-test-sns/245/

Change-Id: I401f53bddd81e8386c01392d9a59c3b5ca8e9802
Fixes: Ic607b3edc3bf724a8b2dbd6be8c806002c229509
2021-01-24 15:22:29 +01: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
Alexander Couzens 28607d6bf5 ttcn3-pcu-test/sns: add configuration for 2nd and 3rd nsvc
With the change to NS_Provider the configruation has to be extended to also include
the other nsvcs.

osmo-ttcn3-hacks: c316572db111 ("RAW_NS: rework NS connection to use NS_Provider")
Change-Id: I8020f808c06054ee38427de65b8c3867817d4ad2
2021-01-18 13:24:54 +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
accordingly.

Change-Id: I6ac250555c3ac2aa8feb70bd3a052aafec5d4210
2020-11-13 09:23:11 +01:00
Daniel Willmann 95c6d07758 osmo-pcu-test: Only handle SNS where we test IP-SNS
Change-Id: Ic26699c40793224d0c647046e09a7a94b5e109bd
2020-10-15 11:14:17 +02:00
Vadim Yanitskiy 36600bdfbc ttcn3-pcu-test: fix latest: tolerate CellId IE in BVC-RESET for BVCO=0
For more details, see Ie87820537d6d616da4fd4bbf73eab06e28fda5e1.

Change-Id: Ibe7eac7ff82955fab16373fae6d9ef4efb35a3a5
Depends: If6245d73ed701e631b67146ace4ba028bdb4226c
Depends: Icebee25b53fef623db6ae91ca0d943e70a3c86b7
2020-10-09 17:21:32 +07:00
Harald Welte d5af310648 PCU+SGSN: Adjust to new "provider" structure of NSConfiguration
In Change-Id I6904520d8c2f546327029777d68b1907611a8cf5 of
osmo-ttcn3-hacks, we change the structure of NSConfiguration.  Let's
adjust the configs accordingly.

Change-Id: I8c5e59e79b69c13632d69f5011be9279b827a4fa
Depends: osmo-ttcn3-hacks I6904520d8c2f546327029777d68b1907611a8cf5
2020-09-28 14:11:07 +00:00
Daniel Willmann 01caeb1226 ttcn3-pcu-test: Change config to support statsd
Change-Id: I2779cdb4ec7cac891aa86e3fefa739e61f867691
Depends: osmo-ttcn3-hacks.git Change-Id I90964b32fa11ed2582afc5fb56bd302b06606f86
Related: SYS#4877
2020-09-25 14:28:47 +02:00
Vadim Yanitskiy 92b653170d ttcn3-pcu-test-sns: use PCUIFv9 for 'latest' images
Change-Id: Iae0136c453ad14114dae17e8b0e8b5ae2ef8e352
Related: I9350c4a54434c3d46ce9424f382ca0057e58d053
Related: SYS#4868, SYS#4915
2020-09-22 13:30:44 +07:00
Vadim Yanitskiy 0e2a3d6bb1 ttcn3-{pcu,bts}-test: use PCUIFv9 for 'latest' images
Change-Id: I6f072e4db07fd6907b91925549edcf62d9c93fb7
Related: I9350c4a54434c3d46ce9424f382ca0057e58d053
Related: SYS#4868, SYS#4915
2020-09-22 02:00:41 +07:00
Harald Welte 15855072ba PCU+SGSN tests: Set address_family field of NSConfiguration
In osmo-ttcn3-hacks Change-Id I0b4fda96accef401ffc009010f9f5621583fd6dd
we introduce the address_family member; let's make sure all configs use
it as expected.

Change-Id: I52e8b11f047a7a2ecce18e4a4f9ff3ed495a0352
2020-09-18 11:33:35 +02: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 0b68e53d23 ttcn3-pcu: Fix cfgn content after ttcn3 module renaming
Required after osmo-ttcn3-hacks.git:
Ie862a1525e9f4f9a3f2427ac3898810e3d044d2f
Iacaddb56e41012ba58ef6d1b9e79d2c012259bed

Change-Id: I0710f52ddab8da8638970d28dc88f6882cc5f637
2020-04-30 11:12:44 +00:00
Pau Espin 031356cdc3 ttcn3-pcu: Bind VTY to assigned IP addr
Change-Id: I5240f7ff5d669228077e703b124e6b9de6e7f2b7
2020-01-20 14:03:27 +01:00
Pau Espin 4c7a7259d3 ttcn3-pcu: Drop unneeded modifications for latest
Latest osmo-pcu release 0.8.0 already behaves same as master.

Change-Id: I774af9eb7625891d906d33a0ea0ab3ffc5973a32
2020-01-05 11:22:36 +00:00
Pau Espin db32c0a431 ttcn3-pcu: Run tests from PCU_Tests_RAW_NS.ttcn
NS tests have been splitted recently into their own module. Make sure we
call tests from the new module.

Depends: osmo-ttcn3-hacks.git If680d1bd7dbfe98829f330c33705e0f13bedf3c7
Change-Id: I3e2ec21c56fbfad5d1af051dcc0d0a9c88d2070a
2019-12-30 14:17:15 +01:00
Pau Espin 436ac6758d ttcn3-cpu: Support VTY prompt used in older versions of osmo-pcu
Change-Id: I8cec3da889623915ca46b5eb1b51bc81195accf9
2019-12-04 17:17:09 +01:00
Pau Espin f10f0e4df8 ttcn3-pcu: Set correct VTY listen addr in PCU_Tests.cfg
Now that osmo-ttcn3-hacks.git I221675721b65b3ab44179e9657da70ba4004d7de
introduced VTY support for PCU_Tests_RAW, we need to use the correct
addr here.

Change-Id: I6807dafd79e58750ffa953da30eb34671aa25808
2019-11-30 09:34:59 +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
Daniel Willmann c66029cd99 Fix ttcn3-pcu-test-latest
Remove the gsmtap-categories that are unknown to the latest osmo-pcu
release.

Change-Id: I4ed750aaa728272fcda09fd23cf172db0e539aa8
2019-10-15 12:55:43 +02:00
Pau Espin 65bc0ae407 ttcn-*: Fix gsmtap log not enabled
gsmtap log won't be sending any message unless it is allowed by "logging
filter all 1".

Change-Id: Ibf8062c0d962f2572a07623e6f06936df0d42c67
2019-10-04 15:50:50 +02:00
Pau Espin 72dd6c9a4a ttcn3-pcu: Enable GSMTAP
Depends on recent commit adding RACH, AGCH and PCH gsmtap categories.

Depends: osmo-pcui.git I4d62f98801af1b0a290d3dd35bd213ccf3151035
Change-Id: I24782f5403266d29aea46ef1d94a431077b194b3
2019-09-30 19:56:21 +02:00