aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-05-22Fix git checkout for branches and commitsOliver Smith24-24/+48
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-21osmo-bts-test: Enable BTS_Tests_SMSCB.control for CBCH testingHarald Welte1-0/+1
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-21Revert "Simplify git checkout, allow branches and commits"Harald Welte26-47/+47
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 26565bb729549152ce8fa89f59df02f37c907c27. Change-Id: Ie6da0f9ea96f11407e38545a6b3cf22ef9cadc25
2019-05-16RFC: allow to set configuration and/or specific testcasesAlexander Couzens2-5/+11
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-07Simplify git checkout, allow branches and commitsOliver Smith26-47/+47
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-07debian-*-build: don't download "Release" fileOliver Smith2-2/+0
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-05gr-gsm-master/Dockerfile: use the official archlinux/base imageVadim Yanitskiy1-1/+1
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-02debian-stretch-titan: install procpsAlexander Couzens1-0/+1
The ttcn3-tcpdump-stop.sh uses `ps` to find out if tcpdump is still running. Change-Id: I8db4ad2262a3a734201e39bc065c1c383738992c
2019-05-01ttcn3-msc-test: Execute MSC_Tests_Iu.controlHarald Welte1-0/+1
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-04-30ttcn3-msc-tests: Add IuCS for one simulated RNCHarald Welte3-1/+19
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-26Add script to bisect test failures with ttcn3 and dockerDaniel Willmann1-0/+53
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-25Add OSMO_*_BRANCH environment variables for build argsDaniel Willmann13-13/+40
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-21debian-stretch-titan: include libfftranscode for our Iu related testsHarald Welte1-0/+9
Change-Id: Ifd7d682df90f1b17823d8358a8a498f149e4591b
2019-04-17Use ftp.debian.org as a "blind workaround" for trouble with ftp.deHarald Welte2-2/+2
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-05nplab-m3ua-test: support running without jenkinsOliver Smith1-1/+1
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-05nplab-m3ua-test: add sigtran-tests dependencyOliver Smith1-0/+1
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-04gitignore: add .releaseOliver Smith1-0/+1
Ignore .release files generated by make/Makefile. Change-Id: I9ea8e4326f6da2ff95cf45999637c89f884a9e19
2019-04-04make/Makefile: fix recursive 'PULL' errorOliver Smith1-1/+1
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-02jenkins-common.sh: pull upstream base imagesOliver Smith2-2/+13
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-03-30Switch all osmo-*-master and ttcn3-*-test from jessie to stretchHarald Welte31-46/+46
Jessie will be EOL in June 2019, let's make the switch to stretch before that. Change-Id: I37a534d07081f3d321869c86d49d03171c8da0c6
2019-03-29print branch name and git commit hash during docker container buildHarald Welte24-1/+26
This is quite useful when looking at jenkins logs to know which exact version was built at the time. Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae
2019-03-29ttcn3-bscnat-test: osmo-bsc_nat config file fixesDaniel Willmann1-33/+5
* Log to file in osmo-bsc_nat * Fix number of endpoints so the test passes Change-Id: Ie90ef6a6e09a3c47955297dedf78121e2c5cbe31
2019-03-28osmo-cn-latest: Add default osmo-msc.cfgDaniel Willmann1-0/+30
Change-Id: I821f76ace7dfd666a6ba6aa382eafa6527af7ba6
2019-03-28osmo-cn-latest: Clarify steps for provisioningDaniel Willmann1-4/+6
Change-Id: Ia55181c791cc66ae95ce41bb1c39092d38751ecb
2019-03-28osmo-cn-latest: Rename the script to provision the hlrDaniel Willmann1-0/+0
Change-Id: I49e7578879a6880664faa5bb0ac3367880f538b5
2019-03-28osmo-cn-latest: Use osmo-config-merge to configure the MSCDaniel Willmann2-6/+22
Change-Id: I6ccebf041d6e4fd3f9e1c6d898e2787b7de9ccca
2019-03-28osmo-cn-latest: Add README with instructions for provisioningDaniel Willmann1-0/+11
Change-Id: I3e29106373cb72773f4d8b9f164aa9a6163addc7
2019-03-28osmo-ci-latest: Add options to change mcc/mnc for SIM card dataDaniel Willmann1-6/+24
Change-Id: Ica348dc12f07a1a57729c4d97a40cf9c04e975c9
2019-03-28osmo-cn-latest: Add script to populate HLRDaniel Willmann1-0/+147
Change-Id: I3ba73347a87e82422fcd3ec3da9acc4b70411003
2019-03-28Add first osmo-cn-latest imageDaniel Willmann17-0/+343
Core network in a container. Starts all the services, configuration needs to be tweaked. Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f
2019-03-21BTS tests: update NSVC config in osmo-bsc.cfgMax1-5/+1
* 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-21ttcn3-bsc-test: set EARFCN in osmo-bsc.cfgPhilipp Maier1-0/+3
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-21ttcn3-ggsn-test: update osmo-ggsn.cfg for ipv4v6 testsOliver Smith1-1/+2
Make the TTNC3 tests pass that were added in Change-Id I3bab7df5caddc5c8b973c81544f954d5473ac234 (osmo-ttcn3-hacks.git). Related: OS#2900 Change-Id: Icc1ae87d87f61e2d1d0b8c6b14d28aeed56a6931
2019-03-14PCU: Differentiate between tests with classic and SNS Gb dialectsHarald Welte6-1/+82
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-04make/Makefile: allow overriding OSMO_TTCN3_BRANCHOliver Smith2-1/+6
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-02-28PCU: Add SNS tests to [EXECUTE] section of config fileHarald Welte1-0/+1
Change-Id: I82949f75c65877ca8baf1018a335c03731c0a4e9
2019-02-22Fix permissions when collecting logsDaniel Willmann1-0/+11
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-21ttcn3-pcu-test: Use master branch, not laforge/gb-snsHarald Welte1-1/+1
All required code is now in master, let's use master. Change-Id: I106184f3f75802ac9a3109408c8eee6597b70caa
2019-02-20PCU: Add osmo-pcu-* + ttcn3-pcu-test containersHarald Welte18-0/+282
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-20debian-repo-test: blacklist soapysdr0.7Oliver Smith1-0/+2
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-20ttcn3-mgw_test: Configure VTY interfacePhilipp Maier2-0/+2
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-14cosmetic: remove excess space at line endPhilipp Maier1-1/+1
Change-Id: I36a1b9f87f1671844e78a84121e84272e8f1d373
2019-01-29osmo-msc.cfg: remove auth policy, LU reject causeOliver Smith2-4/+0
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-29osmo-msc-latest: install libdbd-sqlite3Oliver Smith1-1/+3
Fix osmo-msc crash at start up: <0009> db.c:621 Failed to create database connection to sqlite3 db 'sms.db'; Is the sqlite3 database driver for libdbi installed on this system? DB: Failed to init database: sms.db It would be better if the Debian package pulled in this dependency automatically, see OS#3771. Related: OS#3767 Change-Id: Ia816aed8dd3b86f44f4454af89cec6f0b9d55dd1
2019-01-28ttcn3-sip-test/jenkins.sh: remove invalid -M argOliver Smith1-1/+1
osmo-sip-connector does not have a -M argument, it was probably confused with osmo-msc's -M, --mncc-sock-path argument. osmo-sip-connector printed out the following when started with -M, but otherwise functioned normally. Because it was started with Docker in background, the message did not get written to the build log. osmo-sip-connector: invalid option -- 'M' Change-Id: Iee983a8aafe8cade67b76927721fc26e5af966d7
2019-01-28ttcn3-*-test: don't hardcode /usr/local/bin/Oliver Smith6-8/+8
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-25ttcn3-bts-test-latest: use osmocom-bb-host-masterOliver Smith1-2/+2
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
2019-01-25jenkins-common.sh: exit if image fails to buildOliver Smith1-2/+2
docker_images_require() must fail when a new image can not be built, even if an old image already exists. We have this situation in a lot of the -latest tests right now, which makes it harder to find the actual error. Note that we can't simply use #!/bin/sh -e in all the jenkins.sh scripts that source jenkins_common.sh, because they must be able to clean up the docker containers on failure. So they can't abort somewhere in the middle of the scripts. We could rewrite them to do the clean up in a trap, but this should be done in a separate commit. Related: OS#3767 Change-Id: I7039089457b62b8798a79c5efd62bd91622986d3
2019-01-14.../osmo-bsc.cfg: drop deprecated dyn_ts_allow_tch_fVadim Yanitskiy5-5/+0
Since Ib2335d02ea545aff837aadd49f15b2fdb418c46e, this VTY option is deprecated in osmo-bsc, so let's actualize the config files. Change-Id: I709e1afd2a9cccdc92eec312dff607947a10c299
2019-01-14ttcn3-bts-test/jenkins.sh: use logging options of fake_trx.pyVadim Yanitskiy1-1/+5
Change-Id: I32bf66b1320b752450a8cb064348b3c86b1c03cd