Initial srsLTE support
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
diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py
index 457bfb3..c2faa36 100644
--- a/src/osmo_gsm_tester/suite.py
+++ b/src/osmo_gsm_tester/suite.py
@@ -25,6 +25,7 @@
from .event_loop import MainLoop
from . import osmo_nitb, osmo_hlr, osmo_mgcpgw, osmo_mgw, osmo_msc, osmo_bsc, osmo_stp, osmo_ggsn, osmo_sgsn, esme, osmocon, ms_driver, iperf3, process
from . import run_node
+from . import srs_epc
class Timeout(Exception):
pass
@@ -362,6 +363,18 @@
def run_node(self, specifics=None):
return run_node.RunNode.from_conf(self.reserved_resources.get(resource.R_RUN_NODE, specifics=specifics))
+ def enb(self, specifics=None):
+ enb = enb_obj(self, self.reserved_resources.get(resource.R_ENB, specifics=specifics))
+ self.register_for_cleanup(enb)
+ return enb
+
+ def epc(self, run_node=None):
+ if run_node is None:
+ run_node = self.run_node()
+ epc_obj = srs_epc.srsEPC(self, run_node)
+ self.register_for_cleanup(epc_obj)
+ return epc_obj
+
def osmocon(self, specifics=None):
conf = self.reserved_resources.get(resource.R_OSMOCON, specifics=specifics)
osmocon_obj = osmocon.Osmocon(self, conf=conf)
@@ -481,4 +494,12 @@
raise RuntimeError('No such BTS type is defined: %r' % bts_type)
return bts_class(suite_run, conf)
+def enb_obj(suite_run, conf):
+ enb_type = conf.get('type')
+ log.dbg('create ENB object', type=enb_type)
+ enb_class = resource.KNOWN_ENB_TYPES.get(enb_type)
+ if enb_class is None:
+ raise RuntimeError('No such ENB type is defined: %r' % enb_type)
+ return enb_class(suite_run, conf)
+
# vim: expandtab tabstop=4 shiftwidth=4