Commit Graph

427 Commits

Author SHA1 Message Date
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
Oliver Smith 2279152bb2 osmo-msc-latest: install libdbd-sqlite3
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-29 11:36:00 +01:00
Oliver Smith 0c4eba94e5 ttcn3-sip-test/jenkins.sh: remove invalid -M arg
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-28 13:58:05 +01: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
Oliver Smith 761b7acd22 ttcn3-bts-test-latest: use osmocom-bb-host-master
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-25 12:00:00 +01:00
Oliver Smith c9fcc6e8a5 jenkins-common.sh: exit if image fails to build
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-25 10:35:01 +01:00
Vadim Yanitskiy b6c3dd787a .../osmo-bsc.cfg: drop deprecated dyn_ts_allow_tch_f
Since Ib2335d02ea545aff837aadd49f15b2fdb418c46e, this VTY option
is deprecated in osmo-bsc, so let's actualize the config files.

Change-Id: I709e1afd2a9cccdc92eec312dff607947a10c299
2019-01-14 21:07:36 +00:00
Vadim Yanitskiy bc933e91f5 ttcn3-bts-test/jenkins.sh: use logging options of fake_trx.py
Change-Id: I32bf66b1320b752450a8cb064348b3c86b1c03cd
2019-01-14 15:40:33 +07:00
Vadim Yanitskiy 53696c67e8 BTS_Tests.cfg: use the new 'mp_bts_trxc_ip' parameter
In I7736abd85407c186856be9f1a22613a1fa6e0c32 'mp_bb_trxc_ip' was
renamed to 'mp_bts_trxc_ip'. Let's correct the config.

Depends-On: (TTCN) I7736abd85407c186856be9f1a22613a1fa6e0c32
Change-Id: I886b652ddfb1afbfcf15f99672cca1d63fd714fe
2019-01-12 07:28:17 +07: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 8deb1f1aa8 cosmetic: gerrit: use variables for the files to patch
Make the code more readable, and make it easier to update the paths
if they should change again.

Change-Id: I285f7908de64f2d92fa99ae9d74fb2e29ec72771
2018-12-11 09:13:31 +00:00
Oliver Smith b6ad85bd4c gerrit: fix libopenid path
Update the path to libopenid.jar, to fix the following error and make
the container build again. This change is necessary, because we are
patching a file inside "gerrit.war", and the path to that file has been
changed upstream.

Step 4/8 : RUN  unzip /var/gerrit/bin/gerrit.war WEB-INF/lib/gerrit-openid-libopenid.jar ...
 ---> Running in 815585d87fdd
Archive:  /var/gerrit/bin/gerrit.war
caution: filename not matched:  WEB-INF/lib/gerrit-openid-libopenid.jar

Change-Id: Iaed2429a776ae587043dc2651293bb354fceeb72
2018-12-11 09:13:31 +00:00
Pau Espin 317ca49155 bts-test: osmo-bts.cfg: Enable extended timestamp
This way messages appearing in log files can be easily matched against
pcap captures.

Change-Id: Ic59c0d7ee0d3ce71e807364d156f6e38bc0c74d1
2018-12-06 18:30:21 +01:00
Oliver Smith 6f176bd924 osmo-sgsn-master: install libosmo-gsup-client-dev
This library is required for building osmo-sgsn, and because it is
currently missing, Jenkins fails. No idea why it used to work without
the dependency though.

Example failure:
https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-sgsn-test/328/console

Change-Id: I1cd5eb51fea9e39d82b12f10ef36c0bf8bbce472
2018-12-06 16:27:50 +01:00
Daniel Willmann 6870d87345 Add ttcn3-bscnat-test docker image
Run the bscnat ttcn3 tests in docker. This uses the osmo-nitb-master
image since osmo-bsc_nat is built there as well.

Change-Id: Ibeebb0325d3d1976225666eb28db0741df2e66f0
2018-11-09 17:22:05 +01:00
Pau Espin f8edc56f3a bsc: osmo-bsc.cfg: Use extended timestamp
It allows for easier matching against pcap files.

Change-Id: Ida71bdd8b3ca0f8bd3f2888e10e72f2872d2e62a
2018-11-08 17:38:23 +01:00
Pau Espin 7a494a5ef2 ttcn3-bts-test: Log RACH requests in GSMTAP
Change-Id: Idae872492a6cf3306fb2e636c54038caa600646b
2018-11-01 14:49:23 +01:00
Oliver Smith fb87e1b19b Remove top-level Makefile, explain why in README
Obsoleted by docker_images_require(). The top-level Makefile had the
following drawbacks:
* it was not maintained: many targets were missing, and some of the
  existing ones did not build anymore
* make targets have the same names as the folders, so if they are not
  listed in the Makefile, it will assume that the target has been built
  already (prone to making mistakes)

Extend README.md to describe how to run tests, container caching, how
container dependencies are resolved now and the reasoning for doing
it that way instead of using a top-level Makefile.

Related: OS#3268
Change-Id: Id18a9a7a70f85127e6f6c9447d71764018bdb4ff
2018-10-26 12:11:08 +02:00
Oliver Smith 96a0c5f73a rename m3ua-test, sua-test to nplab-*-test
Allows writing a generic Jenkins Job Builder config by renaming the
container folders to match the job names. This needs changes in the
Jenkins jobs, as done in Ie433925ee81a61c5788b4a6f2bc5b89c2689d251.

Related: OS#3268
Change-Id: Iedf9a8cd9af1da674e018a08a977490520e602de
2018-10-26 10:19:05 +02:00
Oliver Smith 53a4472517 symlinks: ttcn3-bsc-test-sccplite
Create the ttcn3-bsc-test-sccplite folder, with symlinks to
ttcn3-bsc-test/jenkins-sccplite.sh and ttcn3-bsc-test/sccplite. This
allows writing the jenkins job builder config files in a generic way.

Related: OS#3268
Change-Id: I1d1d277475090cd615a0e2d07a42b2032cdefb9c
2018-10-26 10:19:05 +02: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
Oliver Smith a89aa7f803 jenkins-common.sh: add docker_images_require()
This new function can be used on top of each *-test/jenkins.sh to
automatically build the required Docker images before starting a
testsuite.

The top-level Makefile should also be able to build all Docker images
on which a job depends. But in that Makefile the list of dependencies
can not be specified dynamically, as it will be necessary for OS#3268:
ttcn3-mgw-test may depend on osmo-mgw-latest or on osmo-mgw-master.

This will be used by Idbb708ab16cb71bab5069127945b63388222369e.

Related: OS#3268
Change-Id: I0afdf3400282634fca9b31d57eaeedd6b5c28aa1
2018-10-26 08:11:44 +00:00
Pau Espin 21831c4ef6 ttcn3-bts-test: Log fake_trx output to file
Change-Id: I82a80b045e6f298e5254f42f51dbf8c84013f45c
2018-10-25 18:05:35 +00:00
Oliver Smith f13abfc385 repo-install-test: version test for all programs
We did not test all programs before, because they did not have
--version implemented. Now they do.

Related: OS#3555
Change-Id: I796f1e34d2c026b11dff89511b667fa457856088
2018-10-23 13:42:27 +02:00
Oliver Smith e8b5c4230f osmo-*-latest: s/nightly/latest/g in Dockerfile
Follow up to I6a564206dd81743deb1eb27eca7081bc333d7434 where the
"*-latest" Dockerfiles were introduced. msc, sgsn, sip, stp had
references to "nightly" instead of "latest" in their Dockerfiles.

Related: OS#3268
Change-Id: I1eab031038927043faf6ed8ed30bdf4d4d1624d5
2018-10-22 11:43:43 +00:00
Piotr Krysik 04933275db gr-gsm-master/Dockerfile: fix: disable GRCC compilation
Change-Id: I80b079a700caf2b87d627606ae3978a7f9d864a7
2018-10-20 20:56:24 +02:00
Harald Welte 599af3d300 add "public-inbox" Dockerfile + Makefiel
this is just for playing around with it.  It might be a good alternative
mailing list archive + access technology in parallel to pipermail (or
soon hyperkitty).

Change-Id: I5882d7637fe8d0ea15040d75709e95b170789c09
2018-10-07 16:27:31 +00:00
Harald Welte a02280fa77 redmine: Fix openid
For some reason, redmine:3.4 ships with ancient (2014) ruby-openid,
which is no longer compatible with the way how ruby handles HMAC.

Change-Id: I60f6f1ede059accf6b29891abcfe3b2529744e8a
2018-10-07 11:15:00 +02:00
Alexander Couzens 9b6bfccdd7 ttcn3-sgsn-test: save the log file to appear in the artifacts.
The sgsn does not save anywhere it's logfile.

Change-Id: Ie06d0ad6f980e5800f65a128cd33d6937c47afa9
2018-09-28 23:30:24 +00:00
Neels Hofmeyr 850c89ffa8 osmo-bsc.cfg: inter-bsc HO: add a neighbor identity
This mirrors osmo-ttcn3-hacks change:
"bsc: inter-BSC HO: add TC_ho_out_of_this_bsc, TC_ho_into_this_bsc"
change-id Id22852d4be7f127d827e7a8beeec55db27c07f03

(As well as removal of the 'add' keyword in change-id
I6a83a8d4ba61b87905c6fae457d4b4eb6078dce9 after osmo-bsc change
I143f21f6069d1a86096cc8240cf69eb7ea9c8ac8.)

Related: OS#2283
Change-Id: I077c2ad2ede900ec43f55655bd740651d3bbe83d
2018-09-27 22:22:34 +02:00
Neels Hofmeyr 320cb3ba97 root Makefile: add rules for ttcn3-hlr-test
Change-Id: Idfd59c3faabeaa1af00df988513d5574c680a3bb
2018-09-26 09:29:42 +00:00
Harald Welte ff3dc6e45f ensure well-formed config files
Change-Id: Id687e63c418e2e955ccbb92f2420a80fc0704ea4
2018-09-26 09:27:38 +00:00
Harald Welte 68875a7529 debian-stretch-titan: Ensure rebuild on changes in repostory
Let's use the well-known hack of adding the "Release" file
of the repository to ensure docker will invalidate the cache if the
repository has changed since the last build.

Change-Id: I54565a4d52221be7e6ded5a339bbf005b58f5998
2018-09-26 10:25:43 +02:00
Harald Welte 2ae3487e01 debian-*-build: Ensure rebuild on changes in upstream
Let's use the well-known hack of adding the "Release" file
of the respective debian distribution/version to ensure docker
will invalidate the cache if the repository has changed since
the last build.

Change-Id: If6f75db11ef424e46c4915b761f9eca69258a9c5
2018-09-26 10:25:43 +02:00
Oliver Smith 643de5ed2e debian-repo-install-test: UNKNOWN in --version?
With this patch, the debian-repo-install-test script checks if
the Osmocom programs as installed from the Debian repository have
"UNKNOWN" in their --version output.

Relates: OS#3555
Change-Id: I46f18dc86d3e257c772a6db8539027aad26e24a8
2018-09-21 10:14:48 +02:00
Oliver Smith 8b5ad120bb debian-repo-install-test: new binary package test
Installs most packages from the Osmocom Debian repository into a plain
debian:stretch container and call the osmo-* binaries with --version
(or -h).

The list of packages is automatically generated with aptitude, so the
job does not need to be changed for every new package. There's also a
new blacklist.txt file with a list of packages, that will not be
installed in this test. Currently, this is filled with all packages
built from the legacy openbsc.git project (some of them are
conflicting with newer repositories) and the soapysdr packages (see
OS#3541).

The feed ("latest", "nightly") can be specified with the FEED
environment variable, it gets read by jenkins.sh (defaults to nightly).

Change-Id: I0f0a8b4f0ccd706cd1af98fe25accd6fd410e007
Relates: OS#3176
2018-09-19 16:08:51 +02:00
Vadim Yanitskiy 9a80e4f095 gr-gsm-master/Dockerfile: use 'master' branch for gr-gsm
All required changes from 'fixeria/trx' have been merged.

Change-Id: I6e228ca15577b8f2734a23ca57c436a3f7fb26fa
2018-09-06 22:43:02 +07:00
Vadim Yanitskiy c7ff506687 gr-gsm-master/Dockerfile: fix full system upgrade
Thanks to Piotr, it was discovered that the image building
process fails during full system upgrade:

  RUN    pacman -Syu

with the following output:

  looking for conflicting packages...
  Packages (2) ca-certificates-mozilla-*  p11-kit-*

  ...

  :: Proceed with installation? [Y/n]
  The command '/bin/sh -c pacman -Syu' returned a non-zero code: 1

Looks like the '--noconfirm' flag was missing.

Change-Id: Icb3ccb9a9531686efcebb3e277421c4c05387b09
2018-09-06 22:35:36 +07: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
Oliver Smith 3f80bc32ee sctp-test: fix build and pin to specific commits
Changes:
* install ca-certificates, so "git clone" doesn't fail
* checkout specific commits (the most recent ones right now), so we
  will get the same code every time we build the container and the
  patches won't fail to apply in the future
* rebase patch "disable the use of scheduler priorities and mlockall"
  on top of master (I couldn't find the commit it was supposed to be
  based on)
* delete obsolete patch that fixed compilation

Change-Id: I7cd647684b983384f419b5cfbea0f8dfc7fee70e
2018-09-04 15:02:54 +02:00