Commit Graph

45 Commits

Author SHA1 Message Date
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 38f51b709f ttcn3-bsc/msc: Drop fixups for latest releases not supporting osmux
Last releases of osmo-bsc and osmo-bsc already support Osmux, so we can
drop those lines as indicated.

Change-Id: Id6a18f2d691f6e9234a5a0cf91ed5c840a6394de
2019-08-19 19:24:39 +02:00
Oliver Smith c2ed5bb201 ttcn3-*: enable GSMTAP logging
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
2019-07-10 09:34:39 +02:00
Pau Espin ee49c7ba88 ttcn3-*: Enable extended-timestamp in VTY cfg
Having extended-timestamp allows for easier matching between osmo-*.log
files and pcap traces.

Change-Id: I98cdc0adc24edc966d5648d2c215c6ad7c749209
2019-06-03 17:59:42 +02:00
Pau Espin bf0d5075cb msc: Disable osmux for ttcn3-msc-test-latest
Latest tagged version of osmo-msc doesn't support "osmux on/off" VTY
commands, so we have to enable osmux use on that version to avoid most
TTCN3 tests failing during set up phase.

Depends: osmo-ttcn3-hacks.git I53d58b2d905905ebf1df322d0389b3715a48212f
Change-Id: I6b3be3981978661de2fa90be130f6f1811a3d1f9
2019-05-31 18:05:40 +02:00
Oliver Smith 61f2be7bd4 Fix git checkout for branches and commits
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
2019-05-22 11:18:56 +02:00
Harald Welte 06ac6e455e Revert "Simplify git checkout, allow branches and commits"
Unfortuately this commit will check out *local* master (i.e. the
previous checkout) rather than the origin/master as it's supposed to
be. This means that ever since merging this patch, our ttcn3 tests
were running some "undefined" stale versions and not current master.

This reverts commit 26565bb729.

Change-Id: Ie6da0f9ea96f11407e38545a6b3cf22ef9cadc25
2019-05-21 17:53:11 +02:00
Oliver Smith 26565bb729 Simplify git checkout, allow branches and commits
Replace the following statements:

a) "git checkout -f -B $BRANCH origin/$BRANCH"
b) "git checkout -f -B $BRANCH $BRANCH"

with:

c) "git checkout -f $BRANCH"

Regarding a), we don't need to specify 'origin/' for each branch, since
we are cloning the repositories in the same Dockerfile, and therefore we
know for sure that there is only one remote and branch names won't be
ambiguous. Removing the 'origin/' allows to put commit hashes into the
branch variables (like done in the new bisect script [1]).

Version b) does not work with branch names:
$ git checkout -f -B osmith/check-imei-before-lu osmith/check-imei-before-lu
fatal: Cannot update paths and switch to branch 'osmith/check-imei-before-lu' at the same time.
Did you intend to checkout 'osmith/check-imei-before-lu' which can not be resolved as commit?

New version c) works with both commits and branches, and it is shorter.

[1] Change-Id: I11f7e61a9b30d58a0fdfcaf77dde447806bf661f

Change-Id: I2ff745c8d19b777d876170d5717c082ceb68a1f3
2019-05-07 10:24:52 +02:00
Harald Welte df7d1bc260 ttcn3-msc-test: Execute MSC_Tests_Iu.control
The new IuCS related tests have been added as 'MSC_Tests_Iu'
module to take advantage of the hierarchical display format in the
Jenkins tests results analyzer.  Let's execute them.

Change-Id: I80ccfce4874d14039bbcb273c3b450db2a7780dd
2019-05-01 08:25:18 +02:00
Harald Welte e0816ed331 ttcn3-msc-tests: Add IuCS for one simulated RNC
We need to update the MSC_Tests.cfg as well as the osmo-stp.cfg
to provsion a virtual RNC link.  As the new RNC uses routing key 2,
we shift the MSC routing key to 3.

Change-Id: I10a249b1a851436fd3c20face6ccc94b304bd3e4
2019-04-30 15:24:16 +00: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
Harald Welte cffe1022b5 print branch name and git commit hash during docker container build
This is quite useful when looking at jenkins logs to know which exact
version was built at the time.

Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae
2019-03-29 16:40:40 +00:00
Philipp Maier bbd16f71f7 cosmetic: remove excess space at line end
Change-Id: I36a1b9f87f1671844e78a84121e84272e8f1d373
2019-02-14 21:35:17 +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
Max af8749c348 MSC: use config file for mncc path
Use config file parameter instead of command line option for MNCC socket
path.

Change-Id: I689cfb3bad09b76859ef7e42c1312c636eebe637
2018-12-12 17:43:35 +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
Harald Welte ff3dc6e45f ensure well-formed config files
Change-Id: Id687e63c418e2e955ccbb92f2420a80fc0704ea4
2018-09-26 09:27:38 +00:00
Oliver Smith 7ed7a2bdd2 Fix "'laforge/debian-jessie-build' not found"
Instead of hardcoding laforge's username in all FROM statements in the
Dockerfiles, make use of the USER variable (as passed through by the
"make/Makefile" with "docker build --build-arg USER=..."). Thanks to
fixeria for proposing this fix!

This requires running docker-ce, old versions of docker (such as the
one in the official repositories of the latest Fedora) don't support
variables in the FROM line. But docker-ce can be installed after
adding docker's 3rd party repositories.

Closes: OS#3457

Change-Id: Ic5f11c8a4e247f632cb6aea6d147e94c53e0130f
2018-09-06 15:17:06 +02:00
Pau Espin 618505f98f ttcn3-*: Merge logfiles no matter resolution of tests
Previous to this commit, log messages were not being merged if tests
were resolved as failed (test-suite.sh ending with exit code != 0),
which can happen if at least one test failed.

Change-Id: If293fc2d3182ef2a7b997faa8b41129a9dd89c45
2018-07-06 14:50:47 +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
Harald Welte 588da83011 bsc + msc: Add missing BSSAP_Configuration.transport field
After merging Change-Id: Ie844c4de62e0ef5d5c4c366185968211a7f6d676
in osmo-ttcn3-hacks, the module parameters for BSSAP configuration
require one extra argument.

Change-Id: I2a0011bc6f7bdf013005d1ea36da591673344eed
Related: OS#2544
2018-04-18 15:40:33 +02:00
Harald Welte 67c306a8df ttcn3-*-test: Remove cherry-pick of CCM related HACK
This is no longer needed as the fix for https://osmocom.org/issues/2718
has been merged to master of osmo-ttcn3-hacks

Change-Id: Ia0c1c134405fdbce1c65059d705827f1a643e774
Related: OS#2718
2018-04-17 21:58:08 +02:00
Harald Welte 8e337f0bca ttcn3-msc-test: Add SMPP config bits
Change-Id: I595a1ca2d47667e654f8a0a69bfe98c91ac58d39
2018-04-14 19:40:12 +00:00
Philipp Maier a13c475215 MSC_Tests: Fix routing key in ttcn3-msc-test
the routink key for virt-bsc0-0 and virt-bsc1-0 is the same
(0), virt-bsc0-0 and virt-bsc1-0 should use different routing
keys.

- Keep the routing key of virt-bsc1-0 and assign routing key 1
  to virt-bsc1-0

Change-Id: I1380ba389dc777cdac84677588b85759cad4bc14
2018-03-29 17:19:35 +02:00
Harald Welte f4857ed00c msc: Fix osmo-stp.cfg
In Change-Id: Ie7780750f7032453951f6849ecee6ab7cc34e8c2 we not only
introduced a MSC_Tests.default with syntax errors, but also a
osmo-stp.cfg with syntax errors :((

Change-Id: If7a7ff3d7ddb255654d14fe17033390214fe5341
2018-03-29 13:56:23 +02:00
Philipp Maier 92344af824 ttcn3-msc-test: update configuration
The MSC_Tests.ttcn testsuite is now able to present multiple BSC
to the MSC (IUT). This change requires the configuration files
of osmo-stp and of the testsuite to be changed.

- update MSC_Tests.cfg to present up to two BSCs to the MSC
- update osmo-stp.cfg to support the additional connection
  from the testsuite

Change-Id: Ie7780750f7032453951f6849ecee6ab7cc34e8c2
Depends: osmo-ttcn3-hacks I52a4c8118828c1605cf672889982f987568ad17d
Related: OS#1609
2018-03-28 17:44:43 +00:00
Harald Welte c90d07003c ttcn3-msc-test: Disable MM INFO
In the past, MM INFO transmission was broken, so the tests were
written without expecting it.  Now, the bug in osmo-msc has been
fixed.

With the config file enabling it, and the tests not expecting MM INFO,
a lot of them failed. Let's disable MM INFO for now until the tests
can deal with it
2018-03-18 21:38:43 +00:00
Harald Welte 3c34820699 ttcn3-msc-test: fix MNC/MCC to match MSC_Tests.ttcn
We recently introduced verification of the MCC/MNC, and the osmo-msc.cfg
MCC/MNC settings mis-matched those of MSC_Tests.ttcn resulting in lots
of test failures.
2018-03-18 17:06:39 +01:00
Harald Welte 2f5541b134 ttcn*test: use log_merge.sh to generate per-testcase merged logs 2018-03-18 13:33:39 +00:00
Harald Welte f08dadbf5f Add *.control to the [EXECUTE] statement of all ttcn3 test suites
In osmo-ttcn3-hacks, we have removed the *.control from the *.default
files, so let's add it here in the config files.  You can now change
the tests to be executed by simply editing the config here.
2018-03-13 13:26:51 +00:00
Pau Espin 56276f95fd jenkins.sh: Fix trailing whitespace 2018-02-19 12:03:39 +01:00
Pau Espin 51deedd956 *-test: jenkins.sh: Print junit output at the end 2018-02-19 11:59:00 +01:00
Harald Welte 8e57c545ab ttcn3-msc-test: remove correct unix domain socket dir 2018-02-18 12:47:15 +01:00
Harald Welte b25e1ea779 ttcn3-msc-test: remove unix domain socket dir from both containers 2018-02-18 12:24:33 +01:00
Harald Welte 226090762a ttcn3-msc-test: Remove unix domain socket before copying logs
jenkins otherwise fails when collecting the build artefacts
2018-02-16 20:05:55 +01:00
Harald Welte a36a6019c7 ttcn3-msc-test: Remove unix domain socket before copying logs
jenkins otherwise fails when collecting the build artefacts
2018-02-15 06:51:22 +00:00
Harald Welte 10305f2f8f ttcn3: Add OSMO_TTCN3_BRANCH build-time argument to build non-master branches 2018-02-14 21:57:39 +01:00
Harald Welte c1694826e4 Use new split config file + tcpdump support of osmo-ttcn3-hacks
This uses osmo-ttcn3-hacks Change-Id
I3db452e24e5238aa05254d903739c64d202e61db, which introduces
some shared/common config file as well as per-testcase pcap file
generation.
2018-02-14 19:06:46 +00:00
Harald Welte d0fa0b0c41 ttcn3-msc-test: Update MSC_Tests.cfg (moduleparm changes) 2018-02-14 10:08:01 +01:00
Harald Welte edcda6b2f3 ttcn3-msc-test: Update osmo-msc.cfg to recent master (removed vty commands) 2018-02-14 09:06:23 +00:00
Harald Welte d770629280 jenkins: Add shared jenkins-common.sh
the common script contains some copy+pasted parts between the different
jobs.
2018-02-06 20:20:49 +00:00
Harald Welte bcc29baf39 jenkins: prefix all container names with $BUILD_TAG
... to make them unique and to allow for multiple tests run in parallel
without any clashes.
2018-02-06 19:57:24 +00:00
Harald Welte 6e61e5a319 bsc/msc test: Make sure we create text log files
as we don't capture stderr on all *but* the tester container, let's
make sure we write log files from the BSC/MSC/STP containers
2018-02-06 20:22:39 +01:00
Harald Welte facbb6575e move every 'test network' to its own IP address space
Ideally we would want to launch a group of containers with their own
private network segment and use the same static IP addresses in those
isolated networks.

The stupidity of docker is requiring unique IPv4 addresses even on
isolated (!) networks.  This means we have to manually give each of our
test setups a different subnet, and then we can at least run one
instance that test in parallel to at most one instance of each other
test.

If this weird reestriction about unique IPv4 addresses didn't exist,
we could start any number of test runs in parallel.
2018-02-06 19:08:45 +01:00
Harald Welte 8fc4202fae Add ttcn3-msc-test container with OsmoMSC test suite 2018-01-27 20:25:10 +01:00