Commit Graph

616 Commits

Author SHA1 Message Date
Harald Welte 70c92ef1c2 ttcn3-bts-test/jenkins.sh: Move start of containers into shell functions
Change-Id: If9ac580aa5f0745468f69d413aa732891acb4a1c
2019-05-29 21:59:43 +02:00
Harald Welte cbcdf97f92 osmoocm-bb-host-master: Build virtphy, not only trxcon
There are some BTS_Tests which (so far) don't yet work with trxcon
hence require virtphy.

Change-Id: I0aabd73e2778b9144aa7945f25cae5cefea4111b
2019-05-29 21:59:43 +02:00
Pau Espin cb3d19f277 ttcn3-sgsn: Run log_merge.sh after tests
Change-Id: If03422bb8fb126fe6f204a4f8bc6edf0cbb7f194
2019-05-29 14:34:46 +00:00
Pau Espin 2cdab85e5f bsc: Disable osmux for ttcn3-bsc-test-latest
Latest tagged version of osmo-bsc 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 I61e4c59b2926f3f70cb6d0190a8683861e54179a
Change-Id: I745b210f43cb147d323a15f78c294f70ee077729
2019-05-28 18:42:01 +02:00
Pau Espin 808801a9fa ttcn3-bscnat: Prepare cfgs for VTY & Osmux support
* Adding "osmux on" for each BSC will be required to enable Osmux later
on, but still it doesn't change behavior now because Osmux must be
enabled globally too (will be done through VTY).

* Set up correct bind and remote IP addr to have VTY working later on.

* Use extended timestamp to have subsecond accuracy to match with pcap
easily.

Change-Id: I794a17bdeaff9ab9316d7a6acb1e58dfd815b645
2019-05-27 18:06:06 +00:00
Harald Welte 77bf937cac ttcn3-bts-test: Fix BSC VTY access from test suite
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
2019-05-23 17:17:31 +00:00
Harald Welte 317aba0226 ttcn3-bscnat-test: Use unique sub-network 172.18.15.0/24
For some reason, the bscnat tests were using the same subnet as the
sip-connector tests, causing address clashes when trying to execute
both test suites simultaneously:

+ echo Creating network ttcn3-sip-test
Creating network ttcn3-sip-test
+ docker network create --internal --subnet 172.18.11.0/24 ttcn3-sip-test
Error response from daemon: Pool overlaps with other one on this address space

Change-Id: I62b01b4b291ed9d729139fcf9b0102459e7f5a6a
2019-05-23 16:00:26 +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 54553bef85 osmo-bts-test: Enable BTS_Tests_SMSCB.control for CBCH testing
Support for this was introdcued in osmo-ttcn3-hacks
Change-Id If4b5a906a0841c0a8c3d7c4e9e5a3d1208ecf16a, but as we have
a separate .cfg file here, we must update it, too.

Change-Id: Iab0e9a46a8ee429619e9ef9159a631dc44ab5aeb
2019-05-21 18:33:28 +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
Alexander Couzens 73663b01f2 RFC: allow to set configuration and/or specific testcases
Allows to pass the configuration file and/or tests to
start-testsuite.sh.

This way a single test can be specified by the command line.

If this RFC gets accepted, I would convert all other Docker.files

Change-Id: I17e480321f1e7bfa287349f438ff6990e30f1114
2019-05-16 18:55:41 +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
Oliver Smith 269331461a debian-*-build: don't download "Release" file
Stop jenkins jobs from failing, due to the download errors we are
getting from time to time, by simply not downloading these files. They
are redundant, because we are already running 'docker build --pull'
before trying to build the debian-*-build images [1], and the docker
images are released at least as often, as the "Release" file gets
updated [2].

This is in line with how it is done in osmo-ci.git.

[1]: Change-Id: I1076bbb7d77bdc99f5d60d641c09ce965fb9dfc6
[2]: https://hub.docker.com/_/debian

Change-Id: Ieedb310814412f235e56bdc65517404842eac00f
2019-05-07 06:31:16 +00:00
Vadim Yanitskiy 857d60059c gr-gsm-master/Dockerfile: use the official archlinux/base image
According to [1], the image 'base/archlinux' has been deprecated.
It's recommended to use the official ArchLinux docker image [2].

[1] https://hub.docker.com/r/base/archlinux
[2] https://hub.docker.com/r/archlinux/base

Change-Id: I7e5d57662e9d8ca2b5037c24427ce1c44de15813
2019-05-05 18:59:16 +03:00
Alexander Couzens c924d417c5 debian-stretch-titan: install procps
The ttcn3-tcpdump-stop.sh uses `ps` to find out if tcpdump is still
running.

Change-Id: I8db4ad2262a3a734201e39bc065c1c383738992c
2019-05-02 18:04:18 +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
Daniel Willmann 6e601e60ad Add script to bisect test failures with ttcn3 and docker
With this script you can now use docker ttcn3 test results to bisect a
regression and find the offending commit.

Use like this from the osmo-* git repository:
$ git bisect start <bad-rev> <good-rev>
$ git bisect run ~/scm/osmo/docker-playground/osmo-bisect.sh <component-to-test> <testcase>
e.g.:
$ git bisect run ~/scm/osmo/docker-playground/osmo-bisect.sh bsc BSC_Tests.TC_ho_in_fail_no_detect

Change-Id: I11f7e61a9b30d58a0fdfcaf77dde447806bf661f
2019-04-26 12:07:15 +02:00
Daniel Willmann b59a9ed8d4 Add OSMO_*_BRANCH environment variables for build args
Previously we could only set OSMO_TTCN3_BRANCH as environment variable
to build a test other than master.

This patch adds environment variables for all osmo-*-master images which
allow docker tests to be executed for an arbitrary commit.

The origin/ prefix from the git checkout command is removed so the
*_BRANCH variable doesn't have to contain branch names, but van also
contain arbitrary commits. This shouldn't have any adverse effect as we
only have one remote in the checkout.

Change-Id: If3bc5fae07cf63c4fef68306be4c4328660bc869
2019-04-25 13:56:14 +02:00
Harald Welte a7deb5d7a8 debian-stretch-titan: include libfftranscode for our Iu related tests
Change-Id: Ifd7d682df90f1b17823d8358a8a498f149e4591b
2019-04-21 11:00:45 +00:00
Harald Welte 6657ba7889 Use ftp.debian.org as a "blind workaround" for trouble with ftp.de
We get a lot of build failures recently like this:

Step 3/4 : ADD  http://ftp.de.debian.org/debian/dists/stretch/Release /tmp/Release
ADD failed: Get http://ftp.de.debian.org/debian/dists/stretch/Release: dial tcp 141.76.2.4:80: i/o timeout
../make/Makefile:44: recipe for target 'docker-build' failed
make: *** [docker-build] Error 1
make: Leaving directory '<https://jenkins.osmocom.org/jenkins/job/ttcn3-sip-test/ws/debian-stretch-build'>
+ exit 1

Let's hope that this works around the connectivity problems with
ftp.de.debian.org

Change-Id: I5a0eb058d95372c44fce042de90c4127a3021a93
2019-04-17 09:10:48 +02:00
Oliver Smith bdfb823f05 nplab-m3ua-test: support running without jenkins
Don't use $WORKSPACE anymore, use $VOL_BASE_DIR like in every other
jenkins.sh in this repository. Make it possible to run jenkins.sh
outside of jenkins (where $WORKSPACE is not set), because
jenkins_common.sh will set up $VOL_BASE_DIR to point to /tmp/logs.

Change-Id: I200b4ee1760a879cbc0a80a30a062a3f2a8e703d
2019-04-05 08:30:28 +02:00
Oliver Smith e021ae6ab3 nplab-m3ua-test: add sigtran-tests dependency
Make sure to build sigtran-tests before building nplab-m3ua-tests. This
has been working by coincidence without the dependency so far, because
nplab-sua-test had the dependency listed and that test ran on the same
host.

Change-Id: I9df1d2b188e86b3c99c6ec793b6eb644ab3c27c9
2019-04-05 08:20:20 +02:00
Oliver Smith e8cd52f074 gitignore: add .release
Ignore .release files generated by make/Makefile.

Change-Id: I9ea8e4326f6da2ff95cf45999637c89f884a9e19
2019-04-04 10:46:14 +00:00
Oliver Smith 052fe1bb8a make/Makefile: fix recursive 'PULL' error
Don't abort with the following error, when running 'make' without
setting the PULL environment variable:

 ../make/Makefile:20: *** Recursive variable 'PULL' references itself (eventually). Stop.

This fixes a regression from Change-Id
I1076bbb7d77bdc99f5d60d641c09ce965fb9dfc6.

Related: OS#3869
Change-Id: I4b4772e9ed6e07ab00943154265c9cbdea22a2f5
2019-04-04 08:16:44 +02:00
Oliver Smith a8be3ff52f jenkins-common.sh: pull upstream base images
Prevent building docker images on top of outdated Debian images, where
the package download feeds have been disabled. Use 'docker build --pull'
instead of 'docker build', whenever the "FROM" line in the Dockerfile
does not contain '$USER' (meaning this is an upstream image).

Checking the FROM line is necessary, as downloading '$USER' images will
fail (we never upload those).

Related: OS#3869
Change-Id: I1076bbb7d77bdc99f5d60d641c09ce965fb9dfc6
2019-04-02 11:38:26 +02: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
Daniel Willmann 2e3a5c1c53 ttcn3-bscnat-test: osmo-bsc_nat config file fixes
* Log to file in osmo-bsc_nat
* Fix number of endpoints so the test passes

Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31
2019-03-29 11:14:36 +00:00
Daniel Willmann 1b5ed832c8 osmo-cn-latest: Add default osmo-msc.cfg
Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6
2019-03-28 13:22:22 +01:00
Daniel Willmann 8de199e54a osmo-cn-latest: Clarify steps for provisioning
Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb
2019-03-28 13:22:22 +01:00
Daniel Willmann e6ce3a1414 osmo-cn-latest: Rename the script to provision the hlr
Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5
2019-03-28 13:22:22 +01:00
Daniel Willmann bdd9f05941 osmo-cn-latest: Use osmo-config-merge to configure the MSC
Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca
2019-03-28 13:22:22 +01:00
Daniel Willmann 9af88da2e2 osmo-cn-latest: Add README with instructions for provisioning
Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7
2019-03-28 13:22:22 +01:00
Daniel Willmann c05368423c osmo-ci-latest: Add options to change mcc/mnc for SIM card data
Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9
2019-03-28 13:22:22 +01:00
Daniel Willmann 8e990c4ff7 osmo-cn-latest: Add script to populate HLR
Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003
2019-03-28 13:22:22 +01:00
Daniel Willmann 5ff268371f Add first osmo-cn-latest image
Core network in a container. Starts all the services, configuration
needs to be tweaked.

Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f
2019-03-28 13:22:22 +01:00
Max 8dea5c8a5a BTS tests: update NSVC config in osmo-bsc.cfg
* remove extra NSVC config
* use 0.0.0.0 for nsvc 0

The additional nsvc and this particular address are not used for BTS'
PCU-related tests in any way and only add confusion. It's likely a
result of copy-paste from another test.

Change-Id: Ie424107672496df70fc83c8fd6cef99a312fcee7
2019-03-21 16:03:51 +00:00
Philipp Maier 73f2d8b9b1 ttcn3-bsc-test: set EARFCN in osmo-bsc.cfg
Currently no EARFCN is set in osmo-bsc.cfg. This setting is required for
TC_chan_rel_hard_clear_csfb to function

Change-Id: I929c0b2927eb78573b7208683cf610be6be8812a
Related: OS#3852
2019-03-21 15:54:59 +00:00
Oliver Smith d27b222e8c ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 tests
Make the TTNC3 tests pass that were added in Change-Id
I3bab7df5caddc5c8b973c81544f954d5473ac234 (osmo-ttcn3-hacks.git).

Related: OS#2900
Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931
2019-03-21 16:02:58 +01:00
Harald Welte c05330e8b4 PCU: Differentiate between tests with classic and SNS Gb dialects
OsmoPCU needs to have the gb-dialect parameter configured right from
startup.  This means we'll split the ttcn3-pcu-test into two suites,
similarly to how we deal with AoIP / SCCPlite in the ttcn3-bsc-test.

Change-Id: I6e844f9ac4b87e801661fb1a1bdd25a15148f474
2019-03-14 21:38:44 +01:00
Oliver Smith ee386a6731 make/Makefile: allow overriding OSMO_TTCN3_BRANCH
Set the OSMO_TTCN3_BRANCH build argument from ttcn3-*/Dockerfile from
the environment variable of the same name, so it can be changed when
building the images with 'make' or './jenkins.sh'.

Dockerfiles that do not have a OSMO_TCCN3_BRANCH build arg produce a
warning. But this is also the case with Dockerfiles that don't have an
USER build arg, and avoiding the warning would only be possible with a
much more complex patch.

Change-Id: If2c312ff9206d1613fc19f41bd088c9aad523684
2019-03-04 13:13:37 +01:00
Harald Welte 618c7abc72 PCU: Add SNS tests to [EXECUTE] section of config file
Change-Id: I82949f75c65877ca8baf1018a335c03731c0a4e9
2019-02-28 11:27:04 +01:00
Daniel Willmann 4cc752799c Fix permissions when collecting logs
Use the debian-jessie-build container to ensure all files under
${VOL_BASE_DIR} are readable.
Call this directly from collect_logs so we handle all ttcn3 jobs.

Fixes: OS#3800
Change-Id: I124c554eee69ec5586547d3c96b8ec571e0653a7
2019-02-22 18:52:59 +01:00
Harald Welte 6359c3fe6c ttcn3-pcu-test: Use master branch, not laforge/gb-sns
All required code is now in master, let's use master.

Change-Id: I106184f3f75802ac9a3109408c8eee6597b70caa
2019-02-21 12:02:47 +01:00
Harald Welte eedbb56552 PCU: Add osmo-pcu-* + ttcn3-pcu-test containers
This will enable us to run the PCU testsuite automatically by
jenkins, just like for other Osmocom projects.

Change-Id: Ia8e2ed2e7d03b8afdc7b1e068f94b0544a8112c7
Related: OS#2890
2019-02-20 21:45:07 +00:00
Oliver Smith 0b3587fae8 debian-repo-test: blacklist soapysdr0.7
Fix conflict in debian-repo-test-latest by not explicitly installing
soapysdr0.7:

dpkg: error processing archive /tmp/apt-dpkg-install-aYn9qf/398-soapysdr0.7-module-lms7_19.01.0-1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/SoapySDR/modules0.5-2/libLMS7Support.so', which is also in package soapysdr0.5-2-module-lms7:amd64 16.12.0+dfsg-1

I have tested locally, that debian-repo-test passes with this patch with
both FEED=latest and FEED=nightly.

Related: OS#3809
Change-Id: Ic7c6b95d20345b39af2ba0d09dddd361696723be
2019-02-20 18:13:15 +00:00
Philipp Maier 2e9ef62349 ttcn3-mgw_test: Configure VTY interface
The testsuite did not support VTY access in the past, so VTY access was
unconfigured. Lets add the required lines to the configuration files

Depends: osmo-mgw If383f81af3306f8f5bdf50152498ae1303d390df
Change-Id: Ife949c61156222de3026280071226ef6f5dbd959
Related: OS#3807
2019-02-20 17:21:14 +01:00
Philipp Maier bbd16f71f7 cosmetic: remove excess space at line end
Change-Id: I36a1b9f87f1671844e78a84121e84272e8f1d373
2019-02-14 21:35:17 +00:00
Oliver Smith 624dd4fbfb osmo-msc.cfg: remove auth policy, LU reject cause
Delete legacy config lines. They have been deleted in osmo-msc.git's
example config files in [1] and [2] almost a year ago.

When running locally, osmo-msc refuses to start with these lines. The
ttcn3-msc-test dir has its own osmo-msc.cfg file, so it works there
without this patch.

$ osmo-msc
There is no such command.
Error occurred during reading the below line:
 auth policy closed

<0006> msc_main.c:573 Failed to parse the config file: 'osmo-msc.cfg'

[1]: change-id I825e659da529257e5edec94d9d59f0e10c1b4c63
[2]: change-id Ie1f39e706477aaf42051877b52d4b3ae1c5f138e

Related: OS#3767
Change-Id: I101b69c5c25252cac346259d8d88f3e02bc943d6
2019-01-29 13:30:52 +01:00