Commit Graph

616 Commits

Author SHA1 Message Date
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
Alexander Couzens 9fa09ddc2f ttcn3-sgsn-tests: synchronize module parameters with ttcn3
The module parameters changes in ttcn3 I3448fe837eaa8efab65dccc32bacaaacd73a2f09

Change-Id: I64408b2095fb2aea24c0306673aa40279ea9f75f
2018-08-28 17:17:39 +00:00
Daniel Willmann 1ec249b51c BSC_sccplite: Different network names for BSC AoIP/sccplite tests
Change-Id: I9124340817888c02574735ab1b1c6c2df3e93212
2018-08-27 20:30:08 +02:00
Harald Welte 060d47f071 use non-overlapping IP networks for bsc-sccplite and SIP tests
The osmo-sip-connector test is already using 172.18.11.x, let's migrate
sccplite to 172.18.12.x to prevent any conflicts when running both tests
on the same build slave (docker instance).

Change-Id: I96beed1f5e01bdb8e77e20f77a459aa006de10fe
2018-08-24 08:32:59 +02:00
Harald Welte 37dd6497bd cgit: Fix group membership to allow read of git repos
Change-Id: I14372fbf63429a2dc7c78c60c7a1eda10791bd0c
2018-08-18 17:28:54 +02:00
Pau Espin 113d916dc9 Remove libosmo-legacy-mgcp-dev from all Dockerfile
Only openbsc.git related programs require it.

Change-Id: Ic641e71e45c5fbd174505116fa45a74e27dad81a
2018-08-17 18:01:57 +02:00
Alexander Couzens 5479348532 SGSN_Tests: fix module parameters
ttcn commit I9128f9ad5c372779c38799269393137ba52576cd moves the
modules parameters from NS_Emulation to SGSN_Tests.

Change-Id: I8d46c37b9c932582fe94e670d9347209bb599192
2018-08-13 17:48:29 +02:00
Vadim Yanitskiy 00ffd6a231 gr-gsm-master/Makefile: enable host USB access
Privileged USB access is required for direct communication
between the image's UHD driver and a host's USRP device.

Change-Id: I8170d2c31b4e28f6a406c50b10b7626f70f36d28
2018-08-09 18:53:05 +07:00
Vadim Yanitskiy b642b8688d Introduce Dockerfile for the GR-GSM project
This change introduces a new sub-project - 'gr-gsm-master'.
It was decided to use Arch Linux as the base image, because it
provides the recent version of both UHD and GNU Radio without
tons of dependencies, such as Xorg.

Note: as there in no libosmocore package in Arch Linux, it will
be built from the latest source code.

Change-Id: I115b59dc9eaec5d132f3f64c4ee321173459e9ed
2018-08-09 17:36:27 +07:00
Harald Welte c2b32af8bc hlr: Update config file with USSD related bits
HLR_Tests.ttcn now wants to test USSD, we have to add the matching
config.

Change-Id: I45047b505411a5f53a7ce5e2d203c526e27a9732
2018-08-08 09:28:26 +00:00
Vadim Yanitskiy 03c9e138d6 OsmocomBB: remove unused 'osmo-virtphy-master'
There is no need to keep an additional Docker image with the same
project, because virt_phy can be compiled as a part of the main
image ('osmocom-bb-host-master'). Moreover, virt_phy is not used
at the moment, so let's remove this.

Change-Id: Ifafb044e8350177e60b479b77c8aad78505eabbc
2018-08-08 05:13:53 +07:00
Vadim Yanitskiy fbb5366dee Rename 'osmocom-bb-trxcon' to 'osmocom-bb-host-master'
At the moment, this Docker image does contain not only trxcon,
but also FakeTRX, virt_phy, and other host applications, so
let's name it properly...

Change-Id: Ieba2411230efdedc13afcd62b8b3a2153fbaf0cb
2018-08-08 05:13:49 +07:00