Before this patch, only virtual RF through ZeroMQ was supported.
This patch allows configuring srsUE and srsENB to use a real SDR with
UHD/SoapySDR backend connected through a physical RF network, while
still keeping compatibility to run on virtual RF ZeroMQ network, based
on the resources used (controlled by scenarios). For instance, one can
first run a suite through the phyisical RF (using 2 UHD-controlled SDRs)
and afterwards with ZeroMQ using the following default-suites.conf:
- 4g:srsenb-rftype-uhd+srsue-rftype-uhd
- 4g:srsenb-rftype-zmq+srsue-rftype-zmq
Change-Id: I7dbbe328f4c0225fe74e878bb2da13fe39ccf049
during config.read(), on empty file yaml.safe_load() returns None, which
was then later converted to string "None" by _standardize(), and
osmo-gsm-tester.py was not catching "not combination_strs" condition.
Change-Id: I07d7daab8f8f4238db140f0a0311f3d1d41e6cb0
2 tests (iperf3, ping) working against a full srs{UE,ENB,EPC} network
using ZeroMQ backend for RF (so no real RF support yet, that will come
next).
Related: OS##4295, OS#4296
Change-Id: I290c0d79258a9f94f00c7ff2e1c6c5579c0e32f4
The new RunNode class is used and ip_address support will be dropped
eventually, replaced by the former.
Change-Id: Ib803d7774cb502c7d07443d7720a7b013684faa8
This API was already added for RemoteHost but forgot to add it too for
local systems. It will be used by srsue once support for it is added.
Change-Id: I734e910af90fd25bed27c24b60346064b5fde67e
This class will be used to hold information for a run node, that is, a
target system or environment were a process or task is run.
It superseeds in functionality the old ip_address resource, which will
eventually be droped in favor of RunNode.
Change-Id: I647bedf116aa9a570d925a5281c9491c9032e343
During integration of the different srsLTE processes, some bugs or
misbehaviors appear which require fixes in srsLTE. Let's use our own
temporary fork until integration is complete and all patches are merged
in upstream.
Change-Id: I6414d9855cf9c004385cc280e5a60e82f8e4fbad
Improvements include:
* Avoid race condition between receiving signal and process not yet
started
* Make sure process is killed with -9 if process is still alive a while after
we killed it (SIGINT, SIGTERM). This is useful for processes which
sometimes hang during shutdown like srsue in some conditions.
Change-Id: I3c656b008a3c2b2bb453a59e51d338cb272fa50b
Let's move code related to coping stuff to remote hosts and managing
remote processes under a class where relevant information is stored.
This simplifies parameters being passed all over and allows to reuse
more code.
Change-Id: Ifff5ded8fdb28e8ef267cebe6c5f30a910cae11a
Since libosmo-abis d4be696bbc20522a0284b6d0aefa872585f6926f it is
enabled by default. Since we don't need it so far and required
dependencies are not available in sysmobts SDK, let's disable it
explicitly.
Change-Id: Id017f3d2f51d30fa53881b627460fb568f19713b
bts_osmotrx will check if target host can run the inst, and otherwise
run osmo-trx-lms already present in the system (installed by other
means). This way same class can be used both ways, since the only real
difference between the 2 scenarios is:
* copying inst vs not copying it.
* Running binary from inst vs running it from PATH.
This commit does not provide a mechanism to make sure the osmo-trx or its
dependencies are up-to-date in the target system. A solution for that
will be provided separately.
Related: SYS#4663
Change-Id: I6bd76f6d7e0cb2b6f7bdde971b6515846048a341
This will be useful in the event a user wants to run a binary already
available in the target which needs no copying, but still requires the
non-binary related items to be copied and set up, such as config files,
directory structure, etc.
This option will be used to run osmo-trx-lms in LimeNetMicro already
installed from an OBS repo, since cross-compiling all related
dependencies would require a lot of work to do now.
Change-Id: I6b0f2a19e493c7ac911c5db0ea08f5c0ab936d74
Caller may want to access the proc object after running the process, for
instance to check return code or inspect its stdout/stderr logs.
Change-Id: I60a18dcf699ebeaced951f7d5ff188f573772282
This way there's no need to go over hours of logging in the main log to
find information of a failing test.
Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed
If class Test calls get_run_dir(), it will generate the run dir from
Suite.get_run_dir() + append, and Suite.get_run_dir() in turn will do
the same with Trial.get_run_dir(). In suite_test.py, however, we are
passing a plain log.Origin object (parent of Trial), which doesn't
implement this function. We need to add it since tests will start using
get_run_dir() to write their own log files.
Generated tmp files are deleted on success and left there on error, in
order to be able to debug stuff easily.
Change-Id: Ic8326659a9ced0351e1e7e57ef21ce36f777729a
This reverts commit 91199a3137.
Since we now support powercycling the SC5, we don't longer need to use a
different ARFCN for it.
Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f
* Add powersupply related code to bts_osmotrx.py to power cycle the
board.
* Each time the board is started, we need to unlock the RF (start TRX
implementation).
Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2
The feature is not supported yet and it seems to be leaving osmo-trx-lms
in a zombie state preventing it to exit and blocking other tests.
Let's disable it until this feature is working properly under manual
use.
Related: OS#4151
Change-Id: Ic255481e6f1fbbf06c4576f924cf27ae80567801
Some gcc version (< 7.3.0) on ARM generate wrong code for __thread
variables that crash at runtime. It seems, due to some unknown reason, that we
are not affected by this bug with toolchain from poky pyro (6.4.0). However,
libosmocore as of e188b8cd98f599468fbb200c7d590de955daf761 applies some
CFLAGS="-mtls-dialect=gnu2" to workaround the issue automatically. But same
toolchain contains an "ld" that crashes when those flags are applied.
Fortunately, libosmocore provides a way to disable the workaround, and since
we are not affected by the bug, we are fine with that. If the toolchain had
the TLS runtime bug, then we'd had to build with -O0. Can be probably dropped
once we move to newer toolchain.
Depends: libosmocore.git afce89dac1a3cdb975da72020acdba16940fd679
Related: OS#4062
Change-Id: I583354735a7671e5bba1c0f6e60c84b6ef55ac63
Parameter was dropped a while ago in osmo-bts, since it's calculated
dynamically from VTY config. So let's drop it to avoid a deprecation
warning message in osmo-bts log file.
Change-Id: Ia17a2528e091d4691c511732ed251e472d1270eb
Due to a bug in sysmocell-5K's TRX implementation, it may keep polluting
the air transmitting after the BTS is disconnected. This could cause
interferences with other tests. Correct fix would be to RF lock it after
test finishes (through ccli), but let's simply use a different ARFCN for
now.
Related: OS#4129
Change-Id: I6d5555aa8740b262ee92110987189c076db44f76