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
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
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
Apparently, TITAN concatenates the contents of all sections, so
we end up with the following set of test cases:
[EXECUTE]
BTS_Tests.control
BTS_Tests_SMSCB.control
BTS_Tests_LAPDm.control
BTS_Tests.control
Change-Id: I71802daec4a5591cbf0fce59a4247027f8dfca46
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
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
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
The test mentioned above is added in osmo-ttcn3-hacks.git
Ieb7444c6312bbeab64da2732393b3facf3e1f003.
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
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
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
In the recent osmo-bsc master, this configuration parameter has
been removed, so it fails to start due to "unknown parameter".
Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d
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
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
As of Change-Id Id965295dfe04f8bd5ce831db70c86f67b8dc290b the
bogus 'NAT' log category has been removed from osmo-bsc.
Change-Id: I266d6f6ed54d1457b1ca63b87fc1c29f6dd40caf
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
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
That's the default value for all BTS, so no need to have it there.
Furthermore, forthcoming osmo-bts patches will drop osmo-bts-trx support
for DSP/HW based MS Power control, which means BTS will reject this
setting. Let's drop it now and let osmo-bts binary to select the
preferred one.
Related: OS#1851
Change-Id: I0f69880a5028002a53736653735c11ae3cd53f07
The configuration file for osmo-bsc contains obsolete config statements,
which cause osmo-bsc to crash. Lets remove those config statements.
Change-Id: Ic91e2ee1e9132886cd02535bc84a568d4c25dbb4
The logging categories cc and mgcp are obsolete. The tests still contain
logging statements with those categories, which makes osmo-bsc
terminate during startup while parsing the configuration file.
Change-Id: Ifd6bf46b73420c0443f997ea953318710544b751
Configure each osmo-* program to send GSMTAP log output to the IP of the
docker container, which runs the testsuite (and therefore runs tcpdump).
Related: https://lists.osmocom.org/pipermail/openbsc/2019-June/012946.html
Change-Id: I99e74f6ffb5b7d566cec35995bf067df414968d8
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
Some tests, particularly those for SMSCB, want to access the BSC
VTY. This was enabled in the ttcn3 code, but the configs we're
using in the docker environment didn't properly refelect that yet.
Change-Id: I6b6e8b47bfe85c15fb57a25b649029f872477146
Replace 'git checkout -f -B $BRANCH origin/$BRANCH && \' in all
Dockerfiles that accept branch variables ($OSMO_TTCN3_BRANCH,
$OSMO_MGW_BRANCH, ...) with the following:
git checkout $BRANCH && \
(git symbolic-ref -q HEAD && git reset --hard origin/$BRANCH || exit 1); \
This allows using branch names and commit hashes in the $BRANCH
variables. Using commits is needed for the bisect script added in [1].
The second line ("(git symbolic...") checks if we are in detached HEAD
state after the checkout, and if we are not, pulls in all new commits
from origin/$BRANCH. Note that it ends in ';' instead of '&&', because
the command in the next line should be executed even if
"git symbolic-ref" does not exit with 0 (detached HEAD state).
Here is an example, to illustrate that the new command does the right
thing. Clone a repository and be 50 commits behind origin/master:
$ git clone "https://git.osmocom.org/osmo-mgw"
$ cd osmo-mgw
$ git reset --hard origin/master~50
With BRANCH="master":
$ git checkout master && \
(git symbolic-ref -q HEAD && git reset --hard origin/master || exit 1); \
echo "done"
Already on 'master'
...
done
$ git status
Your branch is up-to-date with 'origin/master'.
With BRANCH="85978d":
$ git checkout 85978d && \
(git symbolic-ref -q HEAD && git reset --hard origin/85978d || exit 1); \
echo "done"
Note: checking out '85978d'.
...
done
$ git status
HEAD detached at 85978dad
Related previous changes:
* [2] made it work for commit hashes, but broke using branch names other
than master, and pulling in new commits from master
* [3] made branches other than master work again, but did not fix
pulling in new commits from master
* [4] reverted [3] and the git checkout related part from [2]
[1] Change-Id: I11f7e61a9b30d58a0fdfcaf77dde447806bf661f
[2] Change-Id: If3bc5fae07cf63c4fef68306be4c4328660bc869
[3] Change-Id: I2ff745c8d19b777d876170d5717c082ceb68a1f3
[4] Change-Id: Ie6da0f9ea96f11407e38545a6b3cf22ef9cadc25
Related: OS#4015
Change-Id: I4004980baf0b7d6096702b6f3067ccbdb369a28c