{ms,enb}_srs: add method to read kpi from a test run

this method uses the kpi_analyzer module for analyzing
stdout, CSV metrics and the logfile (if present).

if the module can't be loaded, no KPI will be added.

Change-Id: I28226a375f9ac4e08424c488062ae6a74a19af92
diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py
index 0bf4f8b..fe1ea4e 100644
--- a/src/osmo_gsm_tester/obj/enb_srs.py
+++ b/src/osmo_gsm_tester/obj/enb_srs.py
@@ -23,6 +23,7 @@
 from ..core import log, util, config, template, process, remote
 from . import enb
 from . import rfemu
+from .srslte_common import srslte_common
 
 from ..core import schema
 
@@ -36,7 +37,7 @@
 def rf_type_valid(rf_type_str):
     return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf')
 
-class srsENB(enb.eNodeB):
+class srsENB(enb.eNodeB, srslte_common):
 
     REMOTE_DIR = '/osmo-gsm-tester-srsenb'
     BINFILE = 'srsenb'
@@ -68,6 +69,7 @@
         self.remote_log_file = None
         self.remote_pcap_file = None
         self.enable_pcap = False
+        self.metrics_file = None
         self.testenv = testenv
         self._additional_args = []
         if not rf_type_valid(conf.get('rf_dev_type', None)):
@@ -89,6 +91,9 @@
             except Exception as e:
                 self.log(repr(e))
 
+        # Collect KPIs for each TC
+        self.testenv.test().set_kpis(self.get_kpis())
+
     def start(self, epc):
         self.log('Starting srsENB')
         self._epc = epc