Enable ixnet traffic generator to run traffic 43/39343/4
authorDeepak S <deepak.s@linux.intel.com>
Mon, 14 Aug 2017 22:19:54 +0000 (15:19 -0700)
committerRoss Brattain <ross.b.brattain@intel.com>
Tue, 15 Aug 2017 22:17:13 +0000 (15:17 -0700)
Change-Id: I8d7cea75aa864c37a058a154a38c9828ea5da434
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
samples/vnf_samples/nsut/vfw/tc_baremetal_rfc2544_ipv4_1rule_1flow_64B_ixia.yaml
samples/vnf_samples/traffic_profiles/ixia_ipv4_latency.yaml
tests/unit/network_services/libs/ixia_libs/test_IxNet.py
yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py
yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py

index ccd40c3..6b213a5 100644 (file)
@@ -53,6 +53,8 @@ private_1:
         outer_l4:
             srcport: "{{get(flow, 'flow.srcport_range', '1234') }}"
             dstport: "{{get(flow, 'flow.dstport_range', '2001') }}"
+            count: "{{get(flow, 'flow.count', '1') }}"
+
 public_1:
       ipv4:
         outer_l2:
@@ -75,6 +77,7 @@ public_1:
         outer_l4:
             srcport: "{{get(flow, 'flow.srcport_range', '1234') }}"
             dstport: "{{get(flow, 'flow.dstport_range', '2001') }}"
+            count: "{{get(flow, 'flow.count', '1') }}"
 private_2:
       ipv4:
         outer_l2:
@@ -97,6 +100,7 @@ private_2:
         outer_l4:
             srcport: "{{get(flow, 'flow.srcport_range', '1234') }}"
             dstport: "{{get(flow, 'flow.dstport_range', '2001') }}"
+            count: "{{get(flow, 'flow.count', '1') }}"
 public_2:
       ipv4:
         outer_l2:
@@ -119,3 +123,4 @@ public_2:
         outer_l4:
             srcport: "{{get(flow, 'flow.srcport_range', '1234') }}"
             dstport: "{{get(flow, 'flow.dstport_range', '2001') }}"
+            count: "{{get(flow, 'flow.count', '1') }}"
index 9114b51..87d76f8 100644 (file)
@@ -263,7 +263,7 @@ class TestIxNextgen(unittest.TestCase):
 
         result = ixnet_gen.ix_get_statistics()
         self.assertIsNotNone(result)
-        self.assertEqual(ixnet.getList.call_count, 2)
+        self.assertEqual(ixnet.getList.call_count, 1)
         self.assertEqual(ixnet.execute.call_count, 20)
 
     def test_find_view_obj_no_where(self):
index 815a2a2..d36ec2e 100644 (file)
@@ -322,13 +322,13 @@ class IxNextgen(object):
 
     def ix_get_statistics(self):
         views = self.ixnet.getList('/statistics', 'view')
+        stats = {}
         view_obj = self.find_view_obj("Traffic Item Statistics", views)
         stats = self.build_stats_map(view_obj, self.STATS_NAME_MAP)
 
-        self.find_view_obj("Port Statistics", views)
+        view_obj = self.find_view_obj("Port Statistics", views)
         ports_stats = self.build_stats_map(view_obj, self.PORT_STATS_NAME_MAP)
 
-        views = self.ixnet.getList('/statistics', 'view')
         view_obj = self.find_view_obj("Flow Statistics", views)
         stats["latency"] = self.build_stats_map(view_obj, self.LATENCY_NAME_MAP)
 
index 07bbdae..3d3fe73 100644 (file)
@@ -23,11 +23,6 @@ from yardstick.network_services.vnf_generic.vnf.sample_vnf import SampleVNFTraff
 from yardstick.network_services.vnf_generic.vnf.sample_vnf import ClientResourceHelper
 from yardstick.network_services.vnf_generic.vnf.sample_vnf import Rfc2544ResourceHelper
 
-try:
-    from IxNet import IxNextgen
-except ImportError:
-    IxNextgen = ErrorClass
-
 LOG = logging.getLogger(__name__)
 
 WAIT_AFTER_CFG_LOAD = 10
@@ -36,6 +31,11 @@ IXIA_LIB = os.path.dirname(os.path.realpath(__file__))
 IXNET_LIB = os.path.join(IXIA_LIB, "../../libs/ixia_libs/IxNet")
 sys.path.append(IXNET_LIB)
 
+try:
+    from IxNet import IxNextgen
+except ImportError:
+    IxNextgen = ErrorClass
+
 
 class IxiaRfc2544Helper(Rfc2544ResourceHelper):
 
@@ -59,7 +59,7 @@ class IxiaResourceHelper(ClientResourceHelper):
         self.pub_ports = None
 
     def _connect(self, client=None):
-        self.client.connect(self.vnfd_helper)
+        self.client._connect(self.vnfd_helper)
 
     def _build_ports(self):
         # self.generate_port_pairs(self.topology)
@@ -72,7 +72,7 @@ class IxiaResourceHelper(ClientResourceHelper):
 
     def stop_collect(self):
         self._terminated.value = 0
-        if self.client:
+        if self.client and self.client.ixnet:
             self.client.ix_stop_traffic()
 
     def generate_samples(self, key=None, default=None):
@@ -109,7 +109,7 @@ class IxiaResourceHelper(ClientResourceHelper):
         self.client.ix_assign_ports()
 
         mac = {}
-        for index, interface in enumerate(self.vnfd_helper.interfaces):
+        for index, interface in enumerate(self.vnfd_helper.interfaces, 1):
             virt_intf = interface["virtual-interface"]
             mac.update({
                 "src_mac_{}".format(index): virt_intf["local_mac"],
@@ -146,6 +146,7 @@ class IxiaTrafficGen(SampleVNFTrafficGen):
 
         super(IxiaTrafficGen, self).__init__(name, vnfd, setup_env_helper_type,
                                              resource_helper_type)
+        self.done = True
         self._ixia_traffic_gen = None
         self.ixia_file_name = ''
         self.tg_port_pairs = []