Merge "Fix multiport/scale-out baremetal ansible scripts"
[yardstick.git] / yardstick / network_services / vnf_generic / vnf / tg_rfc2544_ixia.py
index 8927ce1..89f8194 100644 (file)
@@ -83,9 +83,9 @@ class IxiaResourceHelper(ClientResourceHelper):
                     'out_packets': int(stats['Frames_Tx'][port_num]),
                     'RxThroughput': float(stats['Valid_Frames_Rx'][port_num]) / duration,
                     'TxThroughput': float(stats['Frames_Tx'][port_num]) / duration,
-                    'Store-Forward_Avg_latency_ns': avg_latency,
-                    'Store-Forward_Min_latency_ns': min_latency,
-                    'Store-Forward_Max_latency_ns': max_latency
+                    'Store-Forward_Avg_latency_ns': utils.safe_cast(avg_latency, int, 0),
+                    'Store-Forward_Min_latency_ns': utils.safe_cast(min_latency, int, 0),
+                    'Store-Forward_Max_latency_ns': utils.safe_cast(max_latency, int, 0)
                 }
             except IndexError:
                 pass
@@ -96,7 +96,10 @@ class IxiaResourceHelper(ClientResourceHelper):
         """Initialize the IXIA IxNetwork client and configure the server"""
         self.client.clear_config()
         self.client.assign_ports()
-        self.client.create_traffic_model()
+        vports = self.client.get_vports()
+        uplink_vports = vports[::2]
+        downlink_vports = vports[1::2]
+        self.client.create_traffic_model(uplink_vports, downlink_vports)
 
     def run_traffic(self, traffic_profile, *args):
         if self._terminated.value:
@@ -104,6 +107,7 @@ class IxiaResourceHelper(ClientResourceHelper):
 
         min_tol = self.rfc_helper.tolerance_low
         max_tol = self.rfc_helper.tolerance_high
+        precision = self.rfc_helper.tolerance_precision
         default = "00:00:00:00:00:00"
 
         self._build_ports()
@@ -131,7 +135,7 @@ class IxiaResourceHelper(ClientResourceHelper):
                                                 traffic_profile.config.duration)
 
                 completed, samples = traffic_profile.get_drop_percentage(
-                    samples, min_tol, max_tol, first_run=first_run)
+                    samples, min_tol, max_tol, precision, first_run=first_run)
                 self._queue.put(samples)
 
                 if completed: