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:
respawn.sh: 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 respawn.sh to sleep 1 second
before starting the process again.
Change-Id: I09e5a8e7c4d28424cd0d004a8bae3cf0ade2d838
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
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
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
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 respawn.sh 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 respawn.sh 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
This allows easily checking if fake_trx fails to start early during
startup, for instance due to a python exception.
Change-Id: I3e13a3b1f78d071618e4848aa19bcba1eb300d18
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
This is needed for the forthcoming frequency hopping test cases.
Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b
Depends: I86afb55ecc6703ce7a229aaa626223f9331a4778
Related: OS#4546
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
If directory is not created beforehand by the user, docker (root) will
create the directory before binding it to the container.
Related: OS#4313
Fixes: a66f6ebb23
Change-Id: I3f02faef1aa5846c48a3776191c3862bac913d10
Run the testsuite one more time; this time for OML tests which
require us to run without a BSC. We can run those with trxcon
and omso-bts-trx and don't need virtphy for them.
Related: OS#4031
Depends: osmo-ttcn3-hacks I82bb85b684d2db3a6b1e96a68ffde03e22affa6b
Change-Id: I97db9c74c56ca93c75e5e5226955799cd945eec0
Some tests require GPRS features not yet present in trxcon, so we have
to fall back using virtphy.
Change-Id: I2f17f03194a4dfa0abca51b0d3e22b3934d08a9a
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
Do not try to run a osmocom-bb-host-latest docker image, which does not
exist as we are not tagging release versions for osmocom-bb (yet).
This was done right in the docker_images_require call at the top
already (which is why it did not try to build such a "-latest" image),
but then the script tried to use the "-latest" images anyway (instead
of hardcoding "-master").
Related: OS#3767
Change-Id: Ib743f09c71d93bf4c4ad947ef62b37de6b2d7ecc
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
At the moment, this Docker image does contain not only trxcon,
but also FakeTRX, virt_phy, and other host applications, so
let's name it properly...
Change-Id: Ieba2411230efdedc13afcd62b8b3a2153fbaf0cb
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