Commit Graph

30 Commits

Author SHA1 Message Date
Oliver Smith 8f60d951da Cosmetic: debian-stretch-jenkins, osmo-gsm-tester: fix indent
Change-Id: Ia6b12b2c35f69eb0434797b29ee0ef676b032250
2021-01-13 15:56:06 +01:00
Oliver Smith 8f2210f528 debian-stretch-jenkins, osmo-gsm-tester: add osmo-ci
Clone osmo-ci.git, and install all files from scripts/* to
/usr/local/bin. Together with osmo-ci
I45bd7ea56849dab839a98cfd52806f7cd288094e, this will make overwriting
PATH obsolete.

Related: OS#4911
Change-Id: I0820f13cd740f7d4a8999d279cef6ae293a67d81
2021-01-12 08:26:25 +00:00
Pau Espin 7d7a06b749 common: Introduce OSMOCOM_REPO_MIRROR param
This allows easily changing to another osmocom repo base URL if the
default one is down.

Related: OS#4862
Change-Id: I8010b08f3dabacfb3c13a44eece6c7a490e0742e
2020-12-02 14:27:02 +01:00
Pau Espin 1210086f95 ogt: Install dependency python3-watchdog
Change-Id: I9136cef6b5a7be085c840dd798bc21493f0a47a6
2020-11-10 17:26:44 +01:00
Pau Espin d5bd67d602 ogt: Create grbroker target directory
This is needed on the target remote hosts, where osmo-gsm-tester will
install a copy of the script to run remotely at runtime.

Change-Id: I59151dfe7091628707cd016db42171d22729a60c
2020-10-21 12:34:05 +00:00
Pau Espin 2ac3deec0b osmo-gsm-tester: Install gnuradio dependency
The python bindings of gnuradio are used to control a zmq connection
broker between srsENB and srsUE to emulate attenuations.

Change-Id: Ic4e8c4d6a5d1e20dd336ff15868c7c3f51dea323
2020-10-16 16:13:15 +02:00
Pau Espin 3cee04dddb ogt: Update installed patchelf to required version 0.11
osmo-gsm-tester requires patchelf 0.11 since a while ago to solve some
bugs on older versions. See osmo-ci
d276db78afbb3f28fc6a4a949bca131d0cfac1d4 for more information.

Related: OS#4389

Change-Id: I3a0c2168420d2a4ee2302a191824f571ec17786b
2020-10-05 12:44:09 +02:00
Pau Espin 1f45fb08ff jenkins-common.sh: Add function to print docker network related parameters
Change-Id: Ie00561de7a4494065156a124565e2190151e6019
2020-08-27 12:49:43 +02:00
Harald Welte 306a51dd30 Enable IPv6 in docker networking
We previously only allocated IPv4 sub-nets to the network segments
created with 'docker network'.  Let's fix that by assigning both
IPv4 and IPv6 address ranges to each docker network.

Related: OS#4700
Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99
2020-08-13 15:01:58 +00:00
Neels Hofmeyr 04c20edefd collect core dumps: '--ulimit core=-1' and WORKDIR=/data everywhere
Change-Id: Ief73b53ed9da6f5af82975bc36d851277d5d3185
2020-06-21 20:58:22 +00:00
Pau Espin db9514e2fe osmo-gsm-tester: Update resources.conf syntax changes
Change-Id: Iaa3e43d6878933b1f01026d58b01b1009fe4cd78
2020-06-11 17:17:21 +02:00
Pau Espin eeaa003c5a osmo-gsm-tester: Fix typo in path in jenkins.sh
Change-Id: Icdbd94a9e3de81ae60ce18da86ad57ebf70fb04f
2020-05-12 16:42:51 +02:00
Pau Espin 16901f8053 osmo-gsm-tester: Point config parameter to file instead of its dirname
Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55,
the -c parameter holds the config file and not the directory where it is contained.

Change-Id: I5aa0507d0e82616ee3cca74573fea6bdb7459b53
2020-05-12 12:53:36 +00:00
Pau Espin cfad27be56 osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env var
As of osmo-gsm-tester.git Change-Id
I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, the enviornment variable
OSMO_GSM_TESTER_CONF is deprecated in favour of already existing -c cmd
line argument. Let's use it while still providing the docker setup with
a way (using same env var name) to modify where the conf dir is to be
found inside the docker container (for instance, to provide an external
conf dir).

Change-Id: I54ea9dc4d0bb205debf312f5a37053bc60cfcdb7
2020-05-07 18:49:11 +02:00
Pau Espin 42bb1385ee osmo-gsm-tester: Update path to sysmocom's specific setup
Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the
example/ directory has been renamed to sysmocom/

Change-Id: I8ca085e02330be51de12066da0555c1bc0c8b767
2020-04-10 21:02:43 +02:00
Pau Espin f2373cc0ad osmo-gsm-tester/resources.conf: Add 2g,4g modem features attr
Since osmo-gsm-tester.git I38bcf6abf789f52c3ed0bee7911567fa872e2491
these features are included and used in the "4g" suite to allow
selecting 4G modems different than srsue.

Change-Id: Ie1942fd661b91218780bc52bb000d192259e2b69
2020-04-03 19:04:02 +02:00
Pau Espin 428858e642 osmo-gsm-tester: Require debian-stretch-jenkins as Dockerfile suggests
Some days ago the Dockerfile was changed to pull from
debian-stretch-jenkins instead of debian-stretch-build, since the first
one has extra runtime dependencies required by osmo-gsm-tester.
However, the jenkins script is still requiring the old dependency. Let's
update it accordingly.

Change-Id: If33aab60e04da7beb4cd0715d5cb3145c001823a
2020-03-31 19:31:59 +02:00
Harald Welte 1bccbb8a66 update OBS Release.key; the old one expired today.
Change-Id: I0dd7d7f54a3eb93ca677f3bdc5e00f62694aaa9e
2020-03-30 18:06:58 +02:00
Pau Espin 52be9c2e40 osmo-gsm-tester: Print colored run output succes/failure
This way one can quickly see if osmo-gsm-tester run fine or an issue
ocurred and logs need to be checked.

Change-Id: I0b267889f403fc1505f9dd859568bc15a120dd81
2020-03-20 19:17:54 +01:00
Pau Espin 8e8f671711 osmo-gsm-tester: Allow changing host's trial directory
It's set to /tmp/trial by default for convenience, since it's a
temporary directory and easy to remember and to access. Still, let's
give the opportunity to change it (if user wants it to be stored in
persistent data or if has low amounts of non-persistent memory).

Change-Id: I2a7ea361c6156c97bd8d2d94cf1b6856344d4d9f
2020-03-20 19:17:35 +01:00
Pau Espin cafa320eba osmo-gsm-tester: Use non 'inst' name as target install dir, and remove it once archived
osmo-gsm-tester uses also the "inst/" directory, so using that name to
install from cmake is not a good idea here, since they will end up in
the same directory under /tmp/trial/inst.
Also, make sure the temporary install dst directory is removed after
creating the archive, since at that point is no longer needed.

Change-Id: Ib6610487140f0703d5817241bc4a63027696c1d4
2020-03-20 19:17:35 +01:00
Pau Espin 41230705dc osmo-gsm-tester: Build srsLTE inside the docker instance if inst not provided by host
osmo-gsm-tester.git/contrib/jenkins-build-srslte.sh cannot be used
because there's a need to split the fetch step from the build step.
That's because we want to fetch in the host (in order to use host's user
ssh key for potential private repos) while still building inside the
docker container, where we have all the dependencies (and where the
binaries are going to be run afterwards by osmo-gsm-tester).

During the changes above it was also noticed that /tmp/trial on the host
got its UID+GID changed (because we switch user inside the container to
downscale privileges). Fix it by chown'ing the directory back to the
host user's UID+GID.

Change-Id: Ia0db8fba840392a0b7883cfc15e45c2e80407a16
2020-03-19 20:13:58 +01:00
Pau Espin 853ddcd792 osmo-gsm-tester: Base docker image on debian-stretch-jenkins
That image contains extra runtime dependencies (such as libua5.3) which
may be required by software run by osmo-gsm-tester.

Change-Id: I5c6239e1beb0cdc6d2b1477ddb60d66debe5d1aa
2020-03-12 15:51:08 +00:00
Pau Espin 9145a91594 osmo-gsm-tester: Allow passing osmo-gsm-tester params from jenkins.sh caller
After this patch, one can run osmo-gsm-tester with specific parameters
(debug level, suite and tests to run, etc.) by using
OSMO_GSM_TESTER_OPTS variable:
OSMO_GSM_TESTER_OPTS="-s 4g -t ping -l error" ./jenkins.sh

Change-Id: I2e8ff51a3152125148c6a117a987e8c11a576e1e
2020-03-12 15:49:48 +00:00
Pau Espin d61b741a61 osmo-gsm-tester: Allow setting rtprio inside the container
This fixes for instance srsLTE being unable to create a thread with
realtime priority.

Change-Id: If0d033c6e912795804e6d7322c22fdfc6602028b
2020-03-12 15:49:48 +00:00
Pau Espin 4b686a004e osmo-gsm-tester: Copy limits.d files to docker image
These are required to allow setting rt prio for jenkins user inside the
docker container, as well as for being allowed to create coredump files.

Change-Id: I8ed6193196d739c1416976d431d07b8a0c55ee2a
2020-03-02 18:04:24 +01:00
Pau Espin 2a9cf7a53a osmo-gsm-tester: Improvements anv fixes to run 4G network with latest ogt version
* Fix wrong KI.
* Add an extra IP address to slave so that ENB and EPC can be run on
  different IP addresses and their GTP ports don't collide.
* Add required rf parameters to resources.conf

Change-Id: I0198bc99f75e9567ee717aa79e434ec28705fac9
2020-03-02 17:28:39 +01:00
Pau Espin 79032097dc osmo-gsm-tester: Add missing srsLTE dependencies (soapy)
Currently srsLTE trials link against soapySDR library to have LimeSDR
support. We need to move installation of those new packages further
below in the Dockerfiler because that lib version is only available with
osmocom repositories (which were added at a later point in the file).

Change-Id: Ia0e506954ffebd94adb75fec6bf481e41f9ec436
2020-03-02 17:28:39 +01:00
Pau Espin 3e59758fd7 osmo-gsm-tester: new versions require python3-numpy
Change-Id: Ic1a9edbaf4151aabd157f859ec6fbec30d4f27b0
2020-03-02 16:39:53 +01:00
Pau Espin c9fa2a8808 Introduce osmo-gsm-tester docker setup
This set up allows running a typical osmo-gsm-tester set up with a main
unit (ogt-master) attached to one (or more) slaves where resources are
located and processes are run.

As an example, current config allows running an iperf3 test over an srsLTE
stack using the ZeroMQ backend.

Change-Id: Iac7c0b613048ce332642d3957c55cc7c53b56d42
2020-03-01 19:23:00 +00:00