Commit Graph

687 Commits

Author SHA1 Message Date
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
Pau Espin b54d7c9261 resources.conf.prod: Use specific remote machine to run osmo-trx
Run osmo-trx in a separate more powerful machine (i5) rather than
running in low end APU where osmo-gsm-tester runs.

Change-Id: I0479643789783d5e8a142042a65c4d53020d1e79
2018-10-02 15:29:04 +02:00
Pau Espin f2e5972ffc bts_osmo: Only check for socket path in ready_for_pcu()
Previous implementation was done due to osmo-pcu dying if failed to
connect to not-yet prepared BTS. This is no longer the case, so we can
start osmo-pcu as soon as the socket exists.

Change-Id: I3aa6bef0c4893bdcac668002ca018af019f666a3
2018-10-02 14:55:50 +02:00
Pau Espin 302c7563ef osmotrx: Make sure remote process stops after ssh session is closed
First of all, it was found that vty allocation must be forced (-t -t)
during ssh session creation to make sure SIGHUP is forwarded when
session is closed.

Second, since osmo-trx ignores SIGHUP (osmo_init_ignore_signals()), we
must add a wrapper script which converts received SIGHUP into a SIGINT
to stop osmo-trx.

Change-Id: Ic334a54b1a1827d74fe0b453ac32bb77b8616147
2018-10-02 14:52:53 +02:00
Pau Espin a9006dffd9 osmotrx: Allow running osmo-trx from remote host
Change-Id: Ia31ac8eb41e02eda28d9f6f56774679300244ee8
2018-10-02 13:10:36 +02:00
Pau Espin e4358a9a36 Make code copying inst through ssh generic
It can later on be used by other classes that need to run binaries in
inst remotely.

Change-Id: I838b999528695207e1147cfe76e6f7aaf3b1dd53
2018-10-02 13:10:36 +02:00
Holger Hans Peter Freyther 90b050764a Be able to switch-off ASAN builds of our binaries.
Inroduce a way to not take a 2x performance hit when testing. It
is of importance if we run with hundreds of BTSes and 10k+ subscribers.
In the absence of using getops or shflags use an environment for it.

Change-Id: I540ba1c35e8fb72abcee0d86e0bdc1136b47345c
2018-09-26 07:27:39 +00:00
Holger Hans Peter Freyther fd760f6702 Package mobile and virtphy as part of osmocom-bb as well
Change-Id: Ie44dca72327e928073b00cde434d1cf2de574d9c
2018-09-26 07:27:39 +00:00
Holger Hans Peter Freyther 9eafb1372e Optimize and re-use an existing repository
Instead of cloning osmocom-bb three times this will allow us to
re-use the repository. Simply change the directory, set the new
origin and fetch.

Change-Id: I63f103b2f70559e969e8c66477ab9ee7f2886832
2018-09-26 07:27:39 +00:00
Pau Espin 32512ae54b default-suites.conf: Add empty lines to easily spot different sections
Change-Id: If33fa9be091113d57b25dc3d73e277bbb3b0ce5a
2018-09-25 10:21:25 +00:00
Pau Espin 7fa19ac077 Add dynts suite to test switch between PDCH and TCH
It seems for not yet clear reasons the MS require some time after the
PDCH channels have been activated again to use them reliably. If no
sleep is used between call hangup and gprs activate pdp ctx, the MS
fails to activate the pdp ctx due to QMI error respone to the "Start
network" requested.

Related: OS#2582
Change-Id: I73b51c31309ac4c28c64ed7eb7c8c649e535aa22
2018-09-25 10:21:25 +00:00
Pau Espin cbbe5d8c1a contrib: Use correct var to write repo name in git_hashes.txt
We want to write repo name in there, not $dep which actually doesn't
exist in local context of have_repo function. In most cases it's
actually the same because in almost all cases $dep is passed as $1 to
have_repo and thus is the same as local $repo. But in a few recipes
which don't use build_repo directly but instead use have_repo and build
manually, $dep may not point to $repo. That's the case for osmocom-bb
for instance. As a result, "libosmocore" is printed twice, were second
word should be "osmocom-bb".

Change-Id: I7a7db7cf4cc020295d216c60d6dc688f110916dc
2018-09-25 10:20:59 +00:00
Pau Espin d301bf9f84 suites: encryption: Add test register_a5_3_authreq
Change-Id: I279e78e741b3ca841cb8508db40874f3c17b0785
2018-09-25 10:20:59 +00:00
Pau Espin 8cc84d8404 contrib: Build osmo-sgsn with IU support
Change-Id: I810ae848c350550430c1918b3abb4376d21d7317
2018-09-19 14:05:41 +02:00
Pau Espin 26d7f8d462 contrib: Build osmo-msc with IU support
Change-Id: I68503ae2f27948aff60a9424e6b114db548d79e9
2018-09-19 13:14:19 +02:00
Pau Espin 1e2a041773 contrib: Add jenkins-build-osmo-iuh.sh
Change-Id: I75cb9551db6b1b4aa5bfb76177694c14fad82f04
2018-09-19 13:02:56 +02:00