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
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
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
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
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
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
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
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
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
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
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
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
This way we don't need to manually add new imports here or drop unusued
ones. It also makes sure local imports in all our py files is correct.
For instance, running the script already caught an issue which is added
to this patch (osmo_ms_driver/__main__.py).
This new version of the script also allows specifying subsets of
features to skip when checking for dependencies. This way, for instance
somebody not willing to use a sispm powersupply can stil check all the
needed dependencies are fine.
This new tool will make it easier to slowly make some dependencies only
used by some object test classes optional (for instance, python-smpplib
if user doesn't want to run an ESME node).
It also allows to retrieve the required debian/manually installed
packages when run with "-p" option:
"""
Debian packages:
libpython3.5-minimal:amd64
python3-gi
python3-six
libpython3.5-stdlib:amd64
python3-pygments
python3-yaml
python3-mako
python3-numpy
python3-markupsafe
Modules without debian package (pip or setuptools?):
usb [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/usb/_interop.py]
pydbus [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/pydbus/proxy.py]
smpplib [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/smpplib/command_codes.py]
sispm [dpkg-query: no path found matching pattern /usr/local/lib/python3.5/dist-packages/sispm/__init__.py]
"""
Change-Id: I29ddf8971837754abd930d847bd1036e8e510de6
This way we avoid unconditionally importing all subclass dependencies,
and make them optional based on whether the setup has devices of that
type or not.
Change-Id: I0d2f8b26364b45f0d837cc51078784d1d0fa7ea1
this allows to optionally specify a the GTP bind_address for a enb object
in the resources.conf
this address is then used for binding the listening socket for gtp connections
which, in turn, allows to run the enb and epc on the same host.
when gtp_bind_addr is not specified, addr is used by default
this is especially useful if eNB and EPC run on the same host
and ZMQ is used for RF between eNB and UE. Two eNB addresses
are needed in this case, one bind address and one "remote-accessable"
address for the UEs ZMQ radio to connect to
Change-Id: I4fe38f31401428ed3e74e1d0b64960f0af122d37
Some older iperf3 versions don't support the --logfile arg. Let's
instead parse the json from stdout. Old --logfile behavior is left in
code but disabled since it's a nicer (less hacky) way to get results,
because parsing from stdout means we need to avoid reading some content.
Change-Id: Ia1b7fa4dae074089878963aeddf0006aea68e31f