Commit Graph

552 Commits

Author SHA1 Message Date
Pau Espin 9ea9c65b39 templates: bsc/nitb: Remove explicit no force-combined-si
It's always been the default anyway, so no need to explicitly state it.
Furthermore, recently (osmobsc 167cb828665b91ed7d28007abd4a1862ebbb78c9)
force-combined-si was enabled by default for nanoBTS due to issues with
some MS not registering when it's not enabled, so let's osmo-bsc decide
were should it be enabled.

Related: OS#3063
Change-Id: I97b10406a4a0048c66a47aa7d32a113f0c0366d1
2018-11-21 20:23:09 +01:00
Pau Espin 0fc74370b0 tests: iperf3: Support testing parallel iperf3 clients in test
Since tests running a single MS and several of them are really similar,
generic code handling the test for N concurrent iperf3 sessions is
writen an moved to testlib, and existing and new test use that code.

Change-Id: I57799fde49e6845379cca332eec0a1f70aaecd2b
2018-11-19 09:40:24 +00:00
Pau Espin 0df6317d1f iperf3: implement str() method in iperf3 server
This way it can be logged easily during test runs.

Change-Id: I699f0a9a8d263ac9f02ea9594a28ca9fd8d48db6
2018-11-19 09:40:24 +00:00
Pau Espin cf6a360efe iperf3: Allow changing port of iperf3 server
This way several servers can run sharing same IP address.

default port variable is moved inside class to be available to tests.

Change-Id: Id4eae7cefbb1a18ecf2676f9cb22c60cc91cec7c
2018-11-19 09:40:24 +00:00
Pau Espin 289383c914 resources.conf.rnd: gobi2k changed by ec20
Given current bad support of most features used, gobi2k modem was
removed and an EC20 was added instead.

Change-Id: I2df38547978c7d2b1a1309f6e73b5a59413e08ff
2018-11-19 09:40:24 +00:00
Pau Espin 4a6324742a default-suites: Enable tests for LimeSDR-USB
Change-Id: I896ea76f1d2847ec014a62c87220d184b95d1dd2
2018-11-18 20:30:02 +00:00
Holger Hans Peter Freyther f743afb669 ms_driver: Switch to process.Process from subprocess
Use a single tmp/rundir for all these instances. In the next step
we can create separate directories.

Change-Id: Icf4d4e161ac4283a63ed4e0745b375e7e6a25004
2018-11-14 21:03:54 +00:00
Holger Hans Peter Freyther f658b83b07 ms_driver: Allow to specify env and binary name/path
For the proper trial/suite integration we can't assume that the
virtphy/mobile are in the PATH and that they can be executed
directly (e.g. need a LD_LIBRARY_PATH to be applied).

Introduce BinaryOptions to pass the name/path of the two executables
and the env to use. Default this to virtphy/mobile and an empty
environment.

Change-Id: I79a57e53bc20613ac061453c24fd29a6d05e1721
2018-11-14 21:03:23 +00:00
Holger Hans Peter Freyther 9cf1c8afde misc: Use RPATH to avoid having tests to set LD_LIBRARY_PATH
Instead of each binary launcher having to check if there is a lib/
directory and then setting a LD_LIBRARY_PATH we can use an RPATH and
know these binaries pick-up the right libraries.

This requires I6e4ad2e3855af7bcefc22d4190cc4e6f58581857.

Change-Id: If771767dd82662e13b6b10ee7a8b8d0c84dcbdb1
2018-11-14 21:00:52 +00:00
Pau Espin b656432701 templates: osmo-pcu-sysmo: Set log level from dbg to info
Otherwise there's too much output. With debug enabled, iperf3 test from
gprs testsuite generates a 111MB osmo-pcu.log.

Change-Id: I687361f3d6ede9a77531cd71204b1b07e0d1af42
2018-11-14 12:43:41 +01:00
Pau Espin c977547ea1 templates: osmo-pcu: Set log level from dbg to info
Otherwise there's too much output. With debug enabled, iperf3 test from
gprs testsuite generates a 96MB osmo-pcu.log. With log level set to
info, size drops to 1.4M, which is a lot less after compressing in an
archive.

Change-Id: I008234024b9369db42c90ef5d59a013fd2d22718
2018-11-13 13:32:59 +00:00
Pau Espin 1444f55643 nanobts: ipacces-config: Use process.launch_sync helper
Change-Id: I986ba81d766240d4f11c079d90b126bf96d776b9
2018-11-12 18:23:34 +01:00
Pau Espin 78087beaa9 process: launch_sync: allow non success return
Change-Id: I0617335b594ba565cf2e5ffd0edfb8bffa398c48
2018-11-12 18:21:21 +01:00
Pau Espin 79df739c07 process: Move standalone run_local_sync as method of Process
Change-Id: Ib2b3fd39db5400a93a8caabae367dac3e3250247
2018-11-12 18:15:30 +01:00
Pau Espin 64f0b1b114 iperf3: Fix parsing of incorrect json from iperf3
Change-Id: I759d99857c17de061e6d7c1ae1c38f6b15172131
2018-11-12 09:14:19 +00:00
Pau Espin b79d39eb2c default-suites: Add tests for UmTRX
Change-Id: I0d0fe17676550a96d9bcf795faf43f7e6b82fb1a
2018-11-09 13:34:18 +00:00
Pau Espin e7f9f41e12 resurces.conf.prod: Add UmTRX device
Change-Id: I11f3275bddcc1c0c5bcd75e6a32f040a8f7c1174
2018-11-09 13:34:18 +00:00
Pau Espin 8cfa10f01d osmo-trx: Add support for dev-args cfg parameter
Change-Id: I3cff225e378e187779bf2b0c7d65bd6b97217104
2018-11-09 13:34:18 +00:00
Holger Hans Peter Freyther 799fe6286b ms_driver: Fix subject in the header
Change-Id: I47e688b9fe3aef6679e3c82c641393ab041cbec3
2018-11-07 03:50:33 +00:00
Pau Espin a89d2e31d6 resources.conf.prod: Update modem info after HW upgrade
A new quadmodem with 4xEC20 has been added to the Prod setup.

Change-Id: I51f0b7dd7a1857d34fc2c5076016caeffa15240d
2018-11-06 15:47:19 +00:00
Holger Hans Peter Freyther b5e86b7e11 ms_driver: Use terminate not kill and initialize in ctor
Change-Id: Ib0102569cfb64a2f85ff33b93dd4ffc8ec59171b
2018-11-06 13:17:49 +00:00
Holger Hans Peter Freyther d6d3206b0a ms_driver: Initialize event_server_sk_tmp_dir in ctor
Change-Id: I9f39a25f292262cf335df371f434995e58c9ae93
2018-11-06 13:15:59 +00:00
Pau Espin fcdf34ade8 resources.conf: ec20: Enable voice support
It was tested that it could do MO and MT voicecall just fine as SierraW
modems.

Change-Id: Ie14c00f9f80e00fdbb52ab82a53b4b5a187d41e7
2018-10-31 09:59:45 +01:00
Pau Espin 8cecdb2ae3 default-suites.conf: Enable testing egprs
Change-Id: I1885e2a749e62547f60b9c35e15f1277b2627bb4
2018-10-31 09:59:45 +01:00
Pau Espin 4f23ab58ad Add support to enable EGPRS
Change-Id: I682f0c1b4cb97b704d646f18f54e748baaefd677
2018-10-31 09:59:45 +01:00
Pau Espin 8a72586835 Introduce iperf3 testing infrastructure
Change-Id: I6ff6bef14feb535d98ca41b9788700d699e1ef1e
2018-10-31 09:59:45 +01:00
Pau Espin 34735f1c49 resources.conf: Add extra IPaddr to pool
Change-Id: If0f1a6a3f4e99091ed117bc7a77a5e60eccb2425
2018-10-31 09:59:02 +01:00
Pau Espin 772b2b14bb pcap_recorder: Add support to run in netns
Change-Id: Ie1c848254f221f26c59e7f4bd8c079fe3e7bdfc2
2018-10-31 09:59:02 +01:00
Pau Espin fd4c144049 Add support to test gprs IPv4 data plane
Since the modem iface and the GGSN iface are on the same host/netns,
it's really difficult to conveniently test data plane without getting
routing loops. As a result, either GGSN or modem iface must be moved to
a different namespace. The decision after a few discussions was finally
to move modem interfaces to a different netns.

Expected setup:
* ofono is patched to avoid removing modem if it detects
through udev that its net iface was removed (due to for instance, net
iface being moved to another netns and thus not being reachable anymore
by systemd-udev process running in root netns).
* After ofono is started (and successfully configured all the modems and
detected its net ifaces through syfs/udev), script "modem-netns-setup.py
start" which creates a netns for each modem, naming it after its usb
path ID. net ifaces for that modem are moved into its netns.
* Modem is configured to use 802-3 data format, and as a result the net
iface is configured through DHCP (DHCP req only replied AFTER pdp ctx is
activated!).
* Since osmo-gsm-tester knowns the modem USB path ID (available in
resources.conf), it can run required steps (ifup, DHCP) to configure the
interface. The interface name is provided by ofono to osmo-gsm-tester.
* As a result, any process willing to transmit data through the modem
must be in the modem netns.

Related: OS#2308
Change-Id: Icb06bdfcdd37c797be95ab5addb28da2d9f6681c
2018-10-31 09:59:02 +01:00
Pau Espin 0aaf8e1c1b utils: Add osmo-gsm-tester_setcap_net_*.sh scripts
This scripts were already being used by osmo-gsm-tester for a while, but
were not avaialable in this repository. Let's put them here to easy find
them and have all this kind of helper scripts together with code using
it.

Change-Id: Ib88a1b7818155fc608cc6ff763300fbd0e03a07a
2018-10-31 08:57:27 +00:00
Pau Espin e972828a01 utils: Introduce modem-netns-setup.py
Used to quickly set modem net interfaces into their own net namespace
(named after modem USB ID path).

The idea is that since osmo-gsm-tester ofono modem.py knowns the USB
path from a modem (path yml attr), it can infer the netns from it and
run a ping process inside it.

Related: OS#2308
Change-Id: Iadb2df2974e132044fba1f1bc2db8b559912e4e1
2018-10-31 08:57:27 +00:00
Alexander Couzens 2decdba7e5 utils: Introduce show_usb_device.py
This is a small script written by Alexander Couzens that is useful to
list modems and its properties in a quick and easy way in
osmo-gsm-tester setup.

Change-Id: Iec049e2d56d61ecd50b65b64d95d69641fa0f8be
2018-10-31 08:57:27 +00:00
Pau Espin 24dc93754b contrib: build-osmo-sgsn: Depend on osmo-hlr build
Since osmo-sgsn f4b2c4ca42cc530c38c9ac6f275e4d7da9315fa2, it depends on
libosmo-gsup-client available in osmo-hlr.

Change-Id: I6aa997ff2092f9ddf2ac475fd094803be9063980
2018-10-31 08:14:51 +00:00
Holger Hans Peter Freyther b484aab683 Create a "ms_driver" stub for the testsuite
All config parameters are hardcoded for now and it should push
subscribers into the test (which should be a base class but not
a specific test).

Change-Id: I586b6d532c6e6395b4e6f2cf2128372237d05a7d
2018-10-30 21:28:43 +00:00
Holger Hans Peter Freyther b697b3bb86 Always initialize the _started in the test
We don't know at which state the termiation routine will be
called and it is best to have a fully initialized object. In
prepare we start with a fresh list just to be sure.

Change-Id: I675772c89e32620da5695aa4793b735cc266684c
2018-10-30 21:26:20 +00:00
Pau Espin 317cdf64e2 default-suites.conf: Make sure we use fr codec with IPA dyn TS
IPA style dynamic timeslots (TCH/F_PDCH) support only TCH/F and thus
only full rate codecs are to be used.

On the other hand, OSMO style dynamic timeslots (TCH/F_TCH/H_PDCH) can
use both full rate and half rate, so no need to be restrictive there.

Change-Id: I0039ef60b323ed72cfe00d8fd9e9287e9c82d49f
2018-10-30 16:24:25 +01:00
Pau Espin c046dba575 default-suites: Remove .conf suffic from scenarios
Change-Id: I090a3ba8c5eb8fc256f09c798bfb5a17cdca274e
2018-10-30 16:17:14 +01:00
Pau Espin d11da2e6bc defaults.conf: Set valid default codec_list matching avail TS types
By default, all channels are TCH/F, and as a result we cannot run half
rate codecs on it.

Since recent versions of osmo-bsc, it checks this kind of
misconfigurations and answers with an Assignment Failure:
....
20181029162133430 DMSC <0007> codec_pref.c:445 codec-support/trx config of BTS 0 does not intersect with codec-list of MSC 0
20181029162133430 DMSC <0007> osmo_bsc_main.c:887 Configuration contains mutually exclusive codec settings -- check configuration!
....
20181029162255253 DMSC <0007> osmo_bsc_bssap.c:859 Rx MSC DT1 BSSMAP ASSIGNMENT REQ
20181029162255254 DMSC <0007> osmo_bsc_bssap.c:718 No supported audio type found for channel_type = { ch_indctr=0x1, ch_rate_type=0xa, perm_spch=[ 42 21 11 01 25 05 ]

Change-Id: Ie6b37839fe363b5d1ba64c267d751221434cdedb
2018-10-29 17:47:01 +01:00
Pau Espin 8aca1f37d6 process: Make sure sync process is terminated if ogt is stopped
Change-Id: Iecdac96ea576a312be2a6c6b6799e249074687ef
2018-10-26 10:24:59 +00:00
Holger Hans Peter Freyther d03acdf38a First round of clean-ups of imports and unused variables
Run pyflakes src/osmo_gsm_tester and then address the first
round of problems.

Change-Id: I02f1d89078dfdf37d53e2e20811bf36fb14ec3b0
2018-10-25 16:26:49 +00:00
Pau Espin a52855614a ttcn3: Allow remote hosts (sysmobts) to access RSL srv inside TTCN3 docker
And extra IP address is required/requested on the docker host because
the BSC handling the OML instance is binding to it's address, so we
cannot ask docker to use that one because it fails binding to it.

Change-Id: I734fba91db535d7b183ddc7f51d324a6cd2eaf6f
2018-10-15 17:59:31 +02:00
Pau Espin f6166144b5 ttcn3: Support running tests without PCU socket avail
Change-Id: I902af460b798ffdba09d77d457bac672db606368
2018-10-15 17:55:12 +02:00
Pau Espin e789f0c088 osmo-bts-trx: Add support for osmo-trx-lms
Change-Id: I44db0fe4592109ecb665e1880806d90379da64f7
2018-10-10 09:39:58 +00:00
Pau Espin 16abefb35c bsc: Record RSL traffic in case rsl_ip and oml_ip differs
This change allows recording all interesting traffic for TTCN3 tests,
having GSMTAP and RSL together, because osmo-bsc is configured to pass
the RSL IP of the TTCN3 testsuite emulating a BSC.

Change-Id: I6bd1d1bec8e7b698d12aa886acc21d92532d9e6c
2018-10-09 18:55:30 +02:00
Pau Espin 1a39ec14c3 resources.conf.prod: Update TRX host ip addr
The host was updated to have several IP address to be able to run
several instances of osmo-trx in parallel.

Change-Id: I3595b82a5d202caec7bc48a63e28ce0331e5abb7
2018-10-09 12:21:33 +02:00
Pau Espin 3fa41541e2 defaults.conf: Add SDCCH8 ts in TRX1 cfg
This way we can test too if SDCH8 channels are allocated and used
correctly in TRX1 in multiTRX setups.

Change-Id: I9d08f3d019a28cf775d70d941c5a60a7e7ca20a9
2018-10-04 12:53:01 +02:00
Pau Espin cef9c0dee8 Drop unused sysmobts-mgr.cfg.tmpl
Change-Id: I09632a6b4d3a431f1699d00843b9d7ee257a8b4c
2018-10-03 14:56:32 +02:00
Pau Espin 1b11c5916c templates: Update .cfg files to use logging level set-all
VTY cmd "logging level all" is deprecated in favour of "logging level
set-all", but the required behaviour in this case is "logging level
set-all".

Change-Id: Ice54fca6be86f05a02ce4ae783e6e42e6958b95d
2018-10-03 14:56:32 +02:00
Pau Espin 01a40a14ce default-suites.conf: Add test to check multiTRX with Ettus B200
Change-Id: Ied768938851488c3f502b2d41334afa17f7f5401
2018-10-03 12:37:33 +02:00
Pau Espin 1ff03766be osmo-trx: Enable multi_arfcn for B200 and only in multiTRX setup
Change-Id: I6a29e1813f0603b00b49b7b7c805be23a72cf0e3
2018-10-02 15:58:32 +02:00