Commit Graph

1234 Commits

Author SHA1 Message Date
Pau Espin 06c82aee5c Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones
Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an
error is logged each time it's used. Same feature is available through
"-c" command line parameters, so having the envvar only makes things
more complex for no good reason. It cannot yet be completely dropped
since some environemnt still make use of it. Give some time to users to
adapt their setups.
Other environment variables setting some config apths can be dropped
since they are not being really used in any setup.

Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862
2020-05-07 19:09:23 +02:00
Pau Espin 18ff1e6e25 ms_driver: Fix typos after recent refactorings
Change-Id: Id9709743648d60792ec64c97ab1bc6811c4e3e1e
2020-05-07 17:10:51 +02:00
Pau Espin fa02b9c677 suites: 4g: Parametrize handover.py test
Change-Id: I7de5acdaa6b905e52655786758bd51490add1d2b
2020-05-07 15:06:01 +00:00
Pau Espin 306373027a Allow suites to dynamically register schemas so tests can receive parameters
Change-Id: Idbe99a35993d193cd97059feb980e61ff14c67ad
2020-05-07 15:06:01 +00:00
Pau Espin 94e7ef0f6c Makefile: Implement clean target
Change-Id: Ia21b0f184bfd454b3835774949f581a27860a80a
2020-05-07 13:27:55 +00:00
Pau Espin 3135a1ae7e Makefile: Add manual target to build user manual
Change-Id: I61ff89db5666248de47cb9752a2aecdd6fd06f02
2020-05-07 13:27:55 +00:00
Andre Puschmann d27b3ba2e2 srs_{enb,ue}: don't set sc12 as OTW format
Change-Id: I7fc20d998b082f5c37b2451f1900161f997954b1
2020-05-06 20:21:18 +00:00
Andre Puschmann 549826d424 enb: add rf_port to cell list param
we need to make the rf_port a param in the cell list because for CA with
two cells on different EARFNCs, the RF port is different

for two cells without CA on the same EARFCN the RF port is the same

so we need to be able to configure it

Change-Id: I32e83cc34811588757104c5ce1cae7277402addd
2020-05-06 20:21:18 +00:00
Pau Espin e0b899079c schema: Allow keys to start with a number
YAML allows it, and it will allow suites tarting with a number on its
name (like the '4g' one) to register its own schema on next commits.

Change-Id: I64e5a9d6604085d3b17eba30498a5e7a66242cc8
2020-05-06 17:14:46 +00:00
Pau Espin ab1904a307 selftest: Move tests into own subdirectories
Change-Id: Id21cda19df131e24402e1a593036e1e33a914920
2020-05-06 18:49:31 +02:00
Pau Espin 636f560dc2 selftest: Remove unused misc.py file
Change-Id: I167bce29d7b22956c82053dcae5634c23d405b3f
2020-05-06 18:44:04 +02:00
Pau Espin fa653e4136 selftest/process_test: Fix output changing in new python version
On older versions apparently upon child termination due to SIGINT
subprocess.poll() returned 1. On new python versions (such as 3.8.2),
-2 is returned, according to documentation:

A negative value -N indicates that the child was terminated by signal N (Unix only).

Let's catch the SIGINT in the child process and exit with a known 42
value to fix different behavior.

Change-Id: I7949ff2b435e91e890061e6840b0f411f8b0a817
2020-05-06 17:57:36 +02:00
Pau Espin afa2fc3aa6 selftest/trial_test: Fix repr(RuntimeError) changing in new python version
If using python 3.8.2, the trailing comma at the end of parameters is
not longer there (probably got fixed, since it's not needed). That
change breaks expected output.

Change-Id: I6da3024f946c0e761099058e812c0eacf3d6071f
2020-05-06 17:42:09 +02:00
Pau Espin eaefe6b533 suites/4g: Introduce sample handover test
This test currently only works with AmarisoftENB and srsUE, because:
* srsENB has no handover support yet
* AmarisoftUE doesn't provide any known way to verify handovers.

As a result, it usually runs with following filters and modifiers:
amarisoftenb-rftype@uhd+srsue-rftype@uhd+mod-enb-ncells@2+mod-enb-meas-enable

The get_counter() API may change in the future based on information
available from other implementations.

Change-Id: I0dff4af7e3a89804a03842ad4a4d697bca3a9773
2020-05-06 16:24:53 +02:00
Pau Espin 0dd4c0be10 osmo-gsm-tester.py: Fix import error when using default-suites.conf
Recent commit refactoring stuff introduced an import error only
triggered when default-suites.conf is used (no -s param).
This commit fixes the issue.

Fixes: ea8c3d4b12
Change-Id: I1534cfba55c69ed5c1354175f8b5df9b656b7d82
2020-05-06 14:04:24 +02:00
Pau Espin 17dd270cf4 Rework README file
Drop old one in doc/ which contains lots of outadated stuff already
placed in the User Manual.
Write a new markdown README in the root directory with pointers to
places in the repo and the issue tracket, ansible setup, etc.

Change-Id: I9febe56223eaeadc9d31291dd0110a11470e3ab1
2020-05-05 19:25:33 +02:00
Pau Espin 0baa5c7269 doc: install.adoc: Correctly split optional dependencies
Change-Id: Id8b5dcd15fd86c670915b928112699d831e6e7b0
2020-05-05 19:08:13 +02:00
Pau Espin 06376b779a doc: Drop redundant app-name in install section
Change-Id: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a
2020-05-05 18:39:44 +02:00
Pau Espin a8b8990bb8 rfemu_amarisoftctrl: import websocket module on first use
Change-Id: I568af52ffb7ac57222697f5d861a532c0e2a70de
2020-05-05 18:26:31 +02:00
Pau Espin 326091555b powersupply_sispm: import sispm and usb modules on first use
Change-Id: I6045bb739e5c69972014a9d27be3a24b7ad61c9a
2020-05-05 18:26:31 +02:00
Pau Espin a1daa51665 ms_ofono: import pydbus and GLib modules on first use
Change-Id: I754e1290eb5593c0ef168f74747f42db1b50f16c
2020-05-05 18:26:31 +02:00
Pau Espin 45149393e7 esme: import smpplib module on first use
Change-Id: Icc92937fdada9210f788805dbc42b80014e345e8
2020-05-05 18:21:58 +02:00
Pau Espin cc89cd0c5f ms_srs: import numpy module on first use
Change-Id: I2ce974954028bdbc7bc1561c4538b909edee2cb1
2020-05-05 17:49:27 +02:00
Pau Espin 407756968c check_dependencies: allow passing any module name to skip
Change-Id: I53a384d54f32d766f70bd7e0bfbd9702939c8aa8
2020-05-05 17:13:40 +02:00
Pau Espin 5b9c7b922a testenv: deferr importing obj module class until use is required
Change-Id: Ie073256a03bb2d038ef7f715d534afb1c53bb241
2020-05-05 14:40:58 +02:00
Pau Espin 40c7bc7765 tests: Replace 'suite' with 'tenv'
Change-Id: I777ec59ffd83b861ddc09e85e52d7a8896264b8c
2020-05-05 13:56:01 +02:00
Pau Espin a442cb8e5f Update obj classes in obj/ to use testenv instead of suite_run
Change-Id: Idf41243a497de7bc507b9f1cd1b38640f456f815
2020-05-05 13:56:01 +02:00
Pau Espin f574a46b37 Move trial.py and suite.py to core/
Change-Id: Ic9a4c90c190e9d8e1829fbef83a9243f3c6f655b
2020-05-05 12:23:37 +02:00
Pau Espin aa1cbdc75a Move all obj/ references in suite.py to testenv.py
Change-Id: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e
2020-05-05 12:19:10 +02:00
Pau Espin ee217b0a18 Move test.py and report.py to core/
Change-Id: Ibb7fa5ab40bcf1e59705bdd2c2c5a76025b2b544
2020-05-04 19:23:16 +02:00
Pau Espin 06cb536826 Move resource.py to core/
Change-Id: I0f36a5e61ff0ef14d08165c9c184acdf2d6e6901
2020-05-04 19:12:07 +02:00
Pau Espin 1ee5ec5db2 Move object subclass instance allocation logic out of suite.py/resource.py
This way we get rid of object related content in resource.py and we can
finally move it to core/ in next commit.

Change-Id: Ia5b861115ae3ae1b90149863c4265dcc730b8cd4
2020-05-04 17:22:53 +02:00
Pau Espin ea8c3d4b12 Generate schemas dynamically from pieces provided by each object class
This way we benefit from:
* knowing which attributes are used/required by each object class and
  subclass
* Having validation function definitions near the class going to use them

Change-Id: I8fd6773c51d19405a585977af4ed72cad2b21db1
2020-05-04 16:36:33 +02:00
Andre Puschmann 96b17df282 srsenb_rr.conf.tmpl: extend CQI and SR subframe scheduling
this fixes an issues when allocating CQI resources for multiple carriers
or multiple users

Change-Id: I8b9345502003da2f5b6841a98b77375656e84d8c
2020-04-21 15:05:51 +02:00
Andre Puschmann 333b868492 ms_srs: fix ZMQ radio arguments for CA and MIMO configs
similar to the eNB patches this fixes the CA and MIMO radio
parameters. In pricinple this could also be reused for the
AmarisoftUE but since we currently don't have a means to test
it I left it for a future commit.

Change-Id: I16b00009f97d61a9ab4715e5d727024661d3d0be
2020-04-21 15:05:51 +02:00
Andre Puschmann e2a6da6b48 enb: refactored rf_args handling for ZMQ-based radio
this patch moves the rf_dev_args creation for both eNB types
into the eNB base class, since they are identical.

the patch also fixes the arguments for all CA and MIMO configurations

Change-Id: I8ca3ed83e65dc07927385267e5970bc4f5b120d5
2020-04-21 15:05:51 +02:00
Andre Puschmann bf40f8c8bf amarisoft_enb: use two antenna ports for TM > 1
Change-Id: Ia241f96341780760d482d389097659b0f7b897e8
2020-04-21 15:05:51 +02:00
Andre Puschmann 8e1ba792c5 jenkins-build-common.sh: also pass additional build flags to CMake
Change-Id: I1c5998d31201505d0a2532f22f905ec155d6c094
2020-04-20 20:36:21 +02:00
Andre Puschmann 6360dfb4d6 jenkins-build-amarisoft: turn off other RF libs when building for zmq driver
Change-Id: Ie4819d3f454d74e14829d02fbdc62a12f2d54cd5
2020-04-20 20:36:21 +02:00
Pau Espin d6c792536f amarisoftENB: Fix running with num_cells=2
The B200 device being used in the physical setup doesn't support several
RF ports, so let's hardcode it to 0 for now.

Change-Id: Id4c31be2bd0c75f469e2293ade011c7b7ceedb1c
2020-04-20 18:21:11 +02:00
Pau Espin 96d64efdbb srsenb: Support neighbour and secondary cell lists in config file
Change-Id: I8fe0703b7d9db69658c112066404d2da1c3d1e09
2020-04-20 18:21:11 +02:00
Pau Espin 6c77874f46 enb: Introduce support for neighbour cell list
Change-Id: If604f1f2643a73f8c4da6ae3e9d24cd6c7e52d06
2020-04-20 18:21:11 +02:00
Pau Espin 154dc93219 AmarisoftENB: Support setting PCI value
Change-Id: Ibffb95f9b55e145d76ba64119a73ef9f1ed7cdef
2020-04-20 18:21:11 +02:00
Pau Espin 9eff96e068 AmarisoftUE: Fix setting tx/rx gain attr
Fixes: a6d6304afc
Change-Id: I344313863390a00604045dcc18e552aa789b282f
2020-04-20 18:04:00 +02:00
Pau Espin a6d6304afc srsue, amarisoft/srsENB: Support setting rx/tx_gain attributes
Change-Id: I4228ba8746a54db4c17443718c01069d431361b9
2020-04-20 16:10:57 +02:00
Pau Espin 491f77cd0f enb: Add attribute to set 'id'
Change-Id: I8ce296c7875d557062dc13e7093ce0400050f2ce
2020-04-20 16:10:57 +02:00
Pau Espin d4404d54c0 enb: Implement initial RF emulation API
Two implementations are provided:
* Amarisoft Ctrl interface (websocket)
* Mini-Circuits Programmable Attenuator (HW, HTTP API) [1]

in Amarisoft ENBs, if no rfemu is configured explicitly, the Ctrl
interface one is used by default, while still being possible to use the
HW one.

[1] https://www.minicircuits.com/pdfs/RC4DAT-6G-60.pdf

Change-Id: Ie98a3fb9bcd2b87b96ecbb5b79e0f53981892a32
2020-04-20 13:30:27 +02:00
Pau Espin ca89bb3924 srsenb_rr.conf.tmpl: Fix whitespace
Change-Id: Ic2b4d8e2468984b096a870c878fa5d032ea4130f
2020-04-20 12:16:53 +02:00
Pau Espin a65b505adc powersupply.py: Fix import module line typo
Recent commit changed the import line so it runs only when required, but
added a typo making tests uing it fail.

Change-Id: Id3e5c16adc763a9b79cc464937c541abd15f98de
Fixes: 2b959580b9
2020-04-19 18:56:43 +02:00
Pau Espin f46ae22b3d enb: Add cell_list attribute
It allows configuring each cell_list up to a maximum of 'num_cells'.

Change-Id: I4fd30a3e37789b76bfaddc2beba1815154daab7f
2020-04-17 20:08:28 +02:00