Commit Graph

94 Commits (8e95373986f8991b509d85515305b50dd7bd026a)

Author SHA1 Message Date
Vadim Yanitskiy b912c80cc2 ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging
Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f
2021-03-18 02:35:21 +01:00
Vadim Yanitskiy b3aaf7a3cf ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter
Keep PDTCH/PTCCH disabled, it will blow up PCAPs otherwise.

Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291
2021-03-18 02:35:03 +01:00
Vadim Yanitskiy 76e2529e42 ttcn3-bts-test: use 'gsmtap-remote-host' parameter
Command line argument '-i' has been deprecated.

Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5
Related: I17676a21c4e0c9cbc88f2c5c53a39c6c6c473ca1
2021-03-18 02:34:11 +01:00
Vadim Yanitskiy 79b752fa32 */osmo-bsc.cfg: remove obsolete no-op parameters
Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96
2021-03-09 13:50:41 +01:00
Vadim Yanitskiy e1dcf9b7a2 */osmo-bts.cfg: remove obsolete 'uplink-power-target'
Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26
2021-03-09 11:42:38 +01:00
Pau Espin 6ef96e4980 bts-test: Drop uneeded module param RSL_Emulation.mp_rslem_patch_ipa_cid
Since we updated -latest to new releases, this param is never set to
true anymore. Furtermore, it will be dropped soon completely.

Related: OS#5042
Depends: osmo-ttcn3-hacks.git Change-Id I39e9c1986ea682d54dcb22b31798ca91f1677949
Change-Id: I4bda577f1ed6964a2114df1aba366177998f0854
2021-02-26 13:02:02 +01: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
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 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-* 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
Vadim Yanitskiy c52dbbe7f0 ttcn3-bts-test: fix: sleep 1 second before respawning the IUT
There has been a lot of changes merged to both osmo-{bsc,bts}, so
now the later seems to be respawning faster then before.  Because
of that, osmo-bts-trx is now reaching the limit of 500 runs on
Jenkins right in the middle of ttcn3-bts-test execution: exiting after 500 runs

causing the remaining test cases to fail due to:

  "BTS_Tests.ttcn:253 : Timeout waiting for RSL bring up"

Most likely, the IUT respawns several times in the windows between
the test cases, i.e. after TITAN finishes one test case and before
it starts another.  Let's instruct to sleep 1 second
before starting the process again.

Change-Id: I09e5a8e7c4d28424cd0d004a8bae3cf0ade2d838
2020-12-16 14:07:12 +00:00
Pau Espin e89c0d2ede ttcn3-bts: Enable gsmtap sapi for tch in osmo-bts.cfg
Change-Id: Idbd30800538200970de7a7fba6cd051cdf7ff252
2020-10-21 11:55:19 +00: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
Vadim Yanitskiy 078717ab2b ttcn3-bts-test/fh: do not configure CBCH slots statically
In BTS_Tests_SMSCB, we dynamically configure the CBCH slots via
the VTY interface, so there is no need to set them here.  This
was also the reason of some SMSCB test case failures, because
the BSC would send unexpected LOAD INDICATIONs.

Change-Id: I6e005ca772e26878c7b19df0d854936d7b7718dd
Related: SYS#4868, OS#4708
2020-09-12 20:16:31 +07:00
Pau Espin 1f45fb08ff Add function to print docker network related parameters
Change-Id: Ie00561de7a4494065156a124565e2190151e6019
2020-08-27 12:49:43 +02:00
Vadim Yanitskiy 149de2822d ttcn3-bts-test/fh: fix: properly rename classnames
Not only append ':hopping' to classnames equal 'BTS_Tests', but
also 'BTS_Tests_SMSCB' and 'BTS_Tests_LAPDm', so they would not
shadow non-hopping test cases in the test results analyzer.

Change-Id: Ie6ed7844c2d0dfd839181bce971506284da03d28
Related: SYS#4868, OS#4546
2020-08-13 19:27:39 +00:00
Vadim Yanitskiy a21c4f2fac ttcn3-bts-test/fh: fix: do not run BTS_Tests.control twice
Apparently, TITAN concatenates the contents of all sections, so
we end up with the following set of test cases:


Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46
Related: SYS#4868, OS#4546
2020-08-13 19:27:39 +00:00
Vadim Yanitskiy c91dae9d1d ttcn3-bts-test/fh: fix: properly include BTS_Tests.cfg
Include the correct configuration file, not the one from the image.

Change-Id: Iecae5cddfbbce4c3bc4077c6c09f527914c06e4b
Related: SYS#4868, OS#4546
2020-08-13 19:27:39 +00:00
Vadim Yanitskiy 617835b50b ttcn3-bts-test/ use bts-tester-{generic,oml,virtphy,hopping}
Let's use separate directories to store the artifacts of different
TTCN-3 test case groups.  This would prevent the test suite from
overwriting *.log and *.pcap files when running both generic and
hopping configurations together, and simplify the overall hierarchy.

Change-Id: I7c41cfb395047433e22e9c65c8c00ae284717b32
Related: SYS#4868, OS#4546
2020-08-13 19:27:39 +00:00
Vadim Yanitskiy 075a487ad9 ttcn3-bts-test/ do not create unused directory
Change-Id: I01efad7f86723301807237d9fae515e82cae125b
2020-08-13 19:27:39 +00: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
Vadim Yanitskiy 27a063fc2f ttcn3-bts-test/ enable frequency hopping test cases
Change-Id: I2b8ee5037146203801ab92a1b4fe6703522d8093
Related: SYS#4868, OS#4546
2020-08-08 01:37:35 +07:00
Vadim Yanitskiy 46a29a706e ttcn3-bts-test/osmo-bsc.cfg: do not enable CBCH slots by default
As it turns out, test cases from BTS_Tests_SMSCB configure the
CBCH slots "on the fly" depending on the test case parameters.
This configuration also makes some test cases fail, so let's
(re)configure SDCCH8+CBCH timeslots to SDCCH8.

Change-Id: I3699450542dc1350971fbf87ad60a330428dec27
2020-07-31 05:02:17 +07:00
Vadim Yanitskiy 9619d2355b ttcn3-bts-test: add configuration with frequency hopping parameters
The Physical channel configuration is the same as in the non-hopping
configuration file.  Hopping parameters are listed below the table.

== Physical channel configuration (FDMA) ==

  | # / # |      TRX#0       |      TRX#1       |      TRX#2       |      TRX#3       |
  | ARFCN |       871        |       873        |       875        |       877        |

== Physical channel configuration (TDMA) ==

  | # / # |      TRX#0       |      TRX#1       |      TRX#2       |      TRX#3       |
  |  TS0  |   CCCH+SDCCH4    |    TCH/F (a)     |    TCH/F (a)     |    TCH/F (a)     |
  |  TS1  |      TCH/F       |   SDCCH8+CBCH    | SDCCH8+CBCH (b)  | SDCCH8+CBCH (b)  |
  |  TS2  |    TCH/F (c)     |    TCH/H (c)     |    TCH/F (d)     |    TCH/H (d)     |
  |  TS3  |  TCH/F_PDCH (e)  |  TCH/F_PDCH (e)  |  TCH/F_PDCH (e)  |  TCH/F_PDCH (e)  |
  |  TS5  |    TCH/H (f)     |    TCH/H (f)     |    TCH/H (f)     |    TCH/H (f)     |
  |  TS6  |    SDCCH8 (g)    |     PDCH (h)     |     PDCH (h)     |    SDCCH8 (g)    |
  |  TS7  |     PDCH (i)     |     PDCH (j)     |     PDCH (i)     |     PDCH (j)     |

== Hopping configuration ==

  a) HSN=0, MAIO=0,1,2
  b) HSN=1, MAIO=3,5
  c) HSN=2, MAIO=0,1
  d) HSN=2, MAIO=2,3
  e) HSN=3, MAIO=3,2,1,0
  f) HSN=5, MAIO=0,1,2,3
  g) HSN=6, MAIO=1,0
  h) HSN=6, MAIO=1,0
  i) HSN=0, MAIO=1,3
  j) HSN=0, MAIO=0,2

Change-Id: I7822c3581fccba3277a63577e740e7486307635d
Related: SYS#4868, OS#4546
2020-07-21 19:46:56 +00:00
Vadim Yanitskiy d3ce838e0c ttcn3-bts-test/osmo-bsc.cfg: change pchan config for TRX#1..3
The new physical channel configuration will be used in the upcoming
multi-transceiver test cases.  Rather than having the same logical
channel combinations configured for all transceivers, it makes
sense to test more deviations.  TRX#0 has kept unchanged.

== Physical channel configuration ==

  | # / # |      TRX#0       |      TRX#1       |      TRX#2       |      TRX#3       |
  |  TS0  |   CCCH+SDCCH4    |      TCH/F       |      TCH/H       |       PDCH       |
  |  TS1  |      TCH/F       |   SDCCH8+CBCH    |       PDCH       |      TCH/H       |
  |  TS2  |      TCH/F       |       PDCH       |   SDCCH8+CBCH    |      TCH/H       |
  |  TS3  |   TCH/F_PDCH     | TCH/F_TCH/H_PDCH |       PDCH       |   SDCCH8+CBCH    |
  |  TS4  | TCH/F_TCH/H_PDCH |   TCH/F_PDCH     |      SDCCH8      |       PDCH       |
  |  TS5  |      TCH/H       |      SDCCH8      |      TCH/F       |      TCH/F       |
  |  TS6  |      SDCCH8      |       PDCH       |       PDCH       |       PDCH       |
  |  TS7  |       PDCH       |       PDCH       |       PDCH       |      SDCCH8      |

Change-Id: Ib27704dcba3979d69e44065c472b1452eaa11a7a
Related: SYS#4868, OS#4546
2020-07-21 19:46:56 +00:00
Pau Espin fc5cab9e3a ttcn3-bts: Fix most OML test failing after osmo-bts shutdown optimization
Since osmo-bts.git 0a6bdb024f5429a35c56178496158c9b1c3ee032, the process
is quickly terminated during shutdown if no TRX is running. Since in the
OML tests the TTCN3 components implements the OML IPA server side, most
of the time when osmo-bts starts it finds no one listening on the
address and exits immediately. This makes script run osmo-bts
lots of times per seconds (since osmo-bts terminates quicker now). As a
result, it quickly consumes the 500 launch threshold and exits without
starting osmo-bts being launched anymore.
As a result, only first tests pass, and all the later ones fail because
osmo-bts never connects.

Let's add a sleep 1 between respawns in only when running OML
tests (not needed in the others since there's an osmo-bsc always
running). This also clears a lot of output in the logs of osmo-bts
processes restarting over and over again.

Change-Id: I10d3e1ef8325dd78f9ae2b95fbfd1c6d893bf8a4
2020-07-08 12:37:29 +00:00
Vadim Yanitskiy c33612da64 ttcn3-bts-test/osmo-bsc.cfg: use logging level 'notice' by default
Change-Id: Ib0bfbe0d98ef0d3e6d627e737edbbf013a5f19c0
2020-07-06 03:35:13 +07:00
Vadim Yanitskiy 438e63ec76 ttcn3-bts-test/osmo-bts.cfg: use logging level 'notice' by default
Change-Id: I51e95a83aac0af1223d9608c234b87162835c9bc
2020-07-06 03:35:09 +07:00
Vadim Yanitskiy 4b422ce2be ttcn3-bts-test/BTS_Tests.cfg: configure number of transceivers
Change-Id: I5d4d9a16d5e30bccc25e8f1030f22b6e49b64c67
Depends: Ic9dd49a2fc856de593b52b3ec0c559e0e15ca173
Related: OS#3155
2020-06-22 18:17:00 +07: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
Vadim Yanitskiy 0bc32c4eab ttcn3-bts-test/ fix latest: enable IPA stream ID patching
Change-Id: I9d76acc717f5aafbfbecafb30160b02486d341fd
Depends: I66cecc9ea24ba79e1a03492e3fda2874951d37a0
2020-06-09 21:05:56 +07:00
Pau Espin 44eea6be40 ttcn3-bts: Update cfg for test TC_tx_power_start_ramp_up_bcch
The test mentioned above is added in osmo-ttcn3-hacks.git

config files are updated to make sense:
* "nominal power" in osmo-bsc.cfg reflects correct default nominal tx
  power of fake_trx.
* "osmotrx tx-attenuation" in osmo-bts.cfg is removed to let osmo-bts
  use the value received through OML (max_power_red 20).
* "power-ramp step-size" in osmo-bts.cfg is increased to speed up the
  test. There's no good reason to keep it lower.

Change-Id: I878d329dde3d2089ee3b68f56271fcb88d210025
2020-06-09 10:54:18 +00:00
Vadim Yanitskiy 511e02f3c5 ttcn3-bts-test/ fix: properly start virtphy
Change-Id: I2c92ca7d8839a5e141a756f0e1ca26f5f27ca143
2020-06-07 20:46:38 +00:00
Pau Espin ed0b9c92bb ttcn3-bts: Log fake_trx stdout to file
This allows easily checking if fake_trx fails to start early during
startup, for instance due to a python exception.

Change-Id: I3e13a3b1f78d071618e4848aa19bcba1eb300d18
2020-06-07 19:27:28 +00:00
Vadim Yanitskiy c69cb106fd osmo-{bsc,msc}.cfg: eliminate 'periodic location update 30'
This parameter has been deprecated in both osmo-msc and osmo-bsc.

Change-Id: I6d33c6d9c43078ee9961d3b076386188ec45be0f
2020-06-01 01:17:35 +07: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
Vadim Yanitskiy 3bd7fc452b osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs'
EGPRS Packet Channel Request cannot be enabled in 'GPRS only' mode
anyway. Moreover, this command was deprecated. Let's just remove it.

Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78
2020-05-29 19:23:55 +07:00
Vadim Yanitskiy 28badfaf6e osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter
Change-Id: Ie5494fd08fc7d2277a087ccc9502b5076fa2565b
2020-05-29 14:34:31 +07:00
Vadim Yanitskiy d210c90a68 osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list'
In the recent osmo-bsc master, this configuration parameter has
been removed, so it fails to start due to "unknown parameter".

Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d
2020-05-29 14:34:31 +07:00
Vadim Yanitskiy c5f1a673bd ttcn3-bts-test: enable 3 additional transceivers for BTS#0
This is needed for the forthcoming frequency hopping test cases.

Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b
Depends: I86afb55ecc6703ce7a229aaa626223f9331a4778
Related: OS#4546
2020-05-28 10:31:28 +00:00
Oliver Smith f48c09d3bc ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS
Allow to pass options to each "docker run" line in the various 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

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,

Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816
2020-05-06 06:22:12 +00:00
Vadim Yanitskiy bcfd877466 ttcn3-bts-test: enable time / date logging for
Depends: Ie5d14a261e17af554f7132b03d58549a4831dcdb
Change-Id: I7f82e4f573db8f72256718c04bb1ace23788ba38
2020-04-14 18:00:16 +00:00
Vadim Yanitskiy b648126d15 ttcn3-bts-test/virtphy: remove deprecated 'ms-power-control dsp'
osmo-bts-virtual fails to start:

  Error occurred during reading the below line:
    ms-power-control dsp

  This BTS model has no DSP/HW MS Power Control support
  Failed to parse the config file: '/data/osmo-bts.cfg'

Change-Id: Ic85603db10c11de911d20313caf2f819e92d94d1
2020-04-05 20:14:40 +07:00
Vadim Yanitskiy 716af8e633 ttcn3-bts-test/osmo-bsc.cfg: Remove 'nat' from logging
As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the
bogus 'NAT' log category has been removed from osmo-bsc.

Change-Id: I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf
2020-04-05 00:07:50 +07:00
Vadim Yanitskiy 76c87949db ttcn3-bts-test/oml: fix osmo-bts.cfg: osmo-bts-trx has no DSP/HW MS Power Control
It was noticed that most of the OML related TTCN-3 test cases do not
pass anymore, while some of them are green for the release builds.

The culprit is I49706926b1e962b18791174627bc3cc0cd0cd9d5, which did
not ensure backwards compatibility with older configuration files.
Let's remove 'ms-power-control dsp' and use the defaults.

Change-Id: I940df510d803d0eaa063dd5145c2f9a4c5d0543f
2019-12-19 11:15:04 +09:00