Fix import error in IxNetwork 97/39497/4
authorDeepak S <deepak.s@linux.intel.com>
Thu, 17 Aug 2017 04:20:55 +0000 (21:20 -0700)
committerRoss Brattain <ross.b.brattain@intel.com>
Thu, 17 Aug 2017 16:56:56 +0000 (09:56 -0700)
This patch fixes import error related to ixnetwork and do not wait for
TG server to start as IXIA is always running :)

Change-Id: I49d6b100eadafad75431cb8974605a6faa496f23
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
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/sample_vnf.py
yardstick/network_services/vnf_generic/vnf/tg_ixload.py
yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py

index 87d76f8..ae4c58d 100644 (file)
@@ -32,19 +32,14 @@ class TestIxNextgen(unittest.TestCase):
         ixnet_gen = IxNextgen()
         self.assertIsNone(ixnet_gen._bidir)
 
-    @mock.patch("yardstick.network_services.libs.ixia_libs.IxNet.IxNet.IxNetwork")
     @mock.patch("yardstick.network_services.libs.ixia_libs.IxNet.IxNet.sys")
-    def test_connect(self, mock_sys, mock_ix_network):
-        mock_ix_network.IxNet.return_value = mock_ixnet = mock.Mock()
+    def test_connect(self, mock_sys):
 
         ixnet_gen = IxNextgen()
         ixnet_gen.get_config = mock.MagicMock()
         ixnet_gen.get_ixnet = mock.MagicMock()
 
-        result = ixnet_gen._connect({"py_lib_path": "/tmp"})
-        self.assertIsNotNone(result)
-        self.assertEqual(mock_ix_network.IxNet.call_count, 1)
-        self.assertEqual(mock_ixnet.connect.call_count, 1)
+        self.assertRaises(ImportError, ixnet_gen._connect, {"py_lib_path": "/tmp"})
 
     def test_clear_ixia_config(self):
         ixnet = mock.MagicMock()
@@ -455,7 +450,7 @@ class TestIxNextgen(unittest.TestCase):
         }
 
         ixnet = mock.MagicMock()
-        ixnet.remapIds.return_value=["0"]
+        ixnet.remapIds.return_value = ["0"]
         ixnet.setMultiAttribute.return_value = [1]
         ixnet.commit.return_value = [1]
         ixnet.getList.side_effect = [[1], [0, 1], [0], ["srcIp", "dstIp"]]
@@ -865,7 +860,7 @@ class TestIxNextgen(unittest.TestCase):
         ixnet = mock.MagicMock()
         ixnet.setMultiAttribute.return_value = [1]
         ixnet.commit.return_value = [1]
-        ixnet.getList.side_effect=[
+        ixnet.getList.side_effect = [
             [1],
             [1],
             [1],
index d36ec2e..2b8905b 100644 (file)
@@ -20,13 +20,6 @@ import logging
 import re
 from itertools import product
 
-from yardstick.common.utils import ErrorClass
-
-try:
-    import IxNetwork
-except ImportError:
-    IxNetwork = ErrorClass
-
 log = logging.getLogger(__name__)
 
 IP_VERSION_4 = 4
@@ -203,6 +196,12 @@ class IxNextgen(object):
         self._cfg = self.get_config(tg_cfg)
 
         sys.path.append(self._cfg["py_lib_path"])
+        # Import IxNetwork after getting ixia lib path
+        try:
+            import IxNetwork
+        except ImportError:
+            raise
+
         self.ixnet = IxNetwork.IxNet()
 
         machine = self._cfg['machine']
index 659a763..0434f6a 100644 (file)
@@ -931,6 +931,7 @@ class SampleVNFTrafficGen(GenericTrafficGen):
         self._tg_process.start()
 
     def wait_for_instantiate(self):
+        # overridden by subclasses
         return self._wait_for_process()
 
     def _check_status(self):
index c15f7b9..c504900 100644 (file)
@@ -122,7 +122,6 @@ class IxLoadTrafficGen(SampleVNFTrafficGen):
         super(IxLoadTrafficGen, self).__init__(name, vnfd, setup_env_helper_type,
                                                resource_helper_type)
         self._result = {}
-        self.done = False
         self.data = None
 
     def run_traffic(self, traffic_profile):
index 3d3fe73..4abe060 100644 (file)
@@ -146,7 +146,6 @@ 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 = []
@@ -164,3 +163,7 @@ class IxiaTrafficGen(SampleVNFTrafficGen):
     def terminate(self):
         self.resource_helper.stop_collect()
         super(IxiaTrafficGen, self).terminate()
+
+    def wait_for_instantiate(self):
+        # not needed for IxNet
+        pass