srs{ue,enb,epc}: Disable pcap by default, allow enabling by param
Take the change to fix several small things and support recording pcap
in srsENB.
pcap generation can be enabled with scenario cfg-srs-enable-pcap.
Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935
diff --git a/src/osmo_gsm_tester/srs_epc.py b/src/osmo_gsm_tester/srs_epc.py
index 705c7c7..0d020bc 100644
--- a/src/osmo_gsm_tester/srs_epc.py
+++ b/src/osmo_gsm_tester/srs_epc.py
@@ -53,6 +53,7 @@
self.remote_db_file = None
self.remote_log_file = None
self.remote_pcap_file = None
+ self.enable_pcap = False
self.subscriber_list = []
self.suite_run = suite_run
self._run_node = run_node
@@ -67,10 +68,11 @@
self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file)
except Exception as e:
self.log(repr(e))
- try:
- self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file)
- except Exception as e:
- self.log(repr(e))
+ if self.enable_pcap:
+ try:
+ self.rem_host.scpfrom('scp-back-pcap', self.remote_pcap_file, self.pcap_file)
+ except Exception as e:
+ self.log(repr(e))
def start(self):
self.log('Starting srsepc')
@@ -100,7 +102,7 @@
self.rem_host.recreate_remote_dir(remote_inst)
self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir)
- self.rem_host.create_remote_dir(remote_run_dir)
+ self.rem_host.recreate_remote_dir(remote_run_dir)
self.rem_host.scp('scp-cfg-to-remote', self.config_file, self.remote_config_file)
self.rem_host.scp('scp-db-to-remote', self.db_file, self.remote_db_file)
@@ -116,7 +118,6 @@
args = (remote_binary, self.remote_config_file,
'--hss.db_file=' + self.remote_db_file,
'--log.filename=' + self.remote_log_file,
- '--pcap.enable=true',
'--pcap.filename=' + self.remote_pcap_file)
self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args)
@@ -147,7 +148,6 @@
args = (binary, os.path.abspath(self.config_file),
'--hss.db_file=' + self.db_file,
'--log.filename=' + self.log_file,
- '--pcap.enable=true',
'--pcap.filename=' + self.pcap_file)
self.process = process.Process(self.name(), self.run_dir, args, env=env)
@@ -155,16 +155,20 @@
self.process.launch()
def configure(self):
- self.config_file = self.run_dir.new_file(srsEPC.CFGFILE)
- self.db_file = self.run_dir.new_file(srsEPC.DBFILE)
- self.log_file = self.run_dir.new_file(srsEPC.LOGFILE)
- self.pcap_file = self.run_dir.new_file(srsEPC.PCAPFILE)
+ self.config_file = self.run_dir.child(srsEPC.CFGFILE)
+ self.db_file = self.run_dir.child(srsEPC.DBFILE)
+ self.log_file = self.run_dir.child(srsEPC.LOGFILE)
+ self.pcap_file = self.run_dir.child(srsEPC.PCAPFILE)
self.dbg(config_file=self.config_file, db_file=self.db_file)
values = dict(epc=config.get_defaults('srsepc'))
- config.overlay(values, self.suite_run.config())
+ config.overlay(values, dict(epc=self.suite_run.config().get('epc', {})))
config.overlay(values, dict(epc={'run_addr': self.addr()}))
+ # Convert parsed boolean string to Python boolean:
+ self.enable_pcap = util.str2bool(values['epc'].get('enable_pcap', 'false'))
+ config.overlay(values, dict(epc={'enable_pcap': self.enable_pcap}))
+
# Set qci for each subscriber:
rlc_drb_mode = values['epc'].get('rlc_drb_mode', None)
assert rlc_drb_mode is not None