Create a SampleVNF MQ consumer class 65/59565/10
authorRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Wed, 4 Jul 2018 16:54:05 +0000 (17:54 +0100)
committerRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Fri, 13 Jul 2018 17:14:06 +0000 (17:14 +0000)
This new class is designed to be used in a ``GenericVNF`` object (VNF
or traffic generator) in a builder pattern. This consumer class will
be instantiated when initializing the ``GenericVNF`` derived object.
The ``GenericVNFConsumer`` endpoint is the ``GenericVNF``derived object
itself.

``GenericVNFEndpoint`` is an interface class to be inherited in a
``GenericVNF`` child object; the VNF object will implement the endpoints
methods.

  NewVNF(GenericVNF, GenericVNFEndpoint):
    def __init__(self, name, vnfd, task_id):
      ...
      self._consumer = vnf_base.GenericVNFConsumer([task_id], self)
      self._consumer.start_rpc_server()

JIRA: YARDSTICK-1293

Change-Id: I1bcd980352099e9ebefdab0c96d51aa46f6a1e54
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
37 files changed:
yardstick/benchmark/scenarios/networking/vnf_generic.py
yardstick/common/messaging/consumer.py
yardstick/network_services/vnf_generic/vnf/acl_vnf.py
yardstick/network_services/vnf_generic/vnf/base.py
yardstick/network_services/vnf_generic/vnf/cgnapt_vnf.py
yardstick/network_services/vnf_generic/vnf/prox_vnf.py
yardstick/network_services/vnf_generic/vnf/router_vnf.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_ping.py
yardstick/network_services/vnf_generic/vnf/tg_prox.py
yardstick/network_services/vnf_generic/vnf/tg_rfc2544_ixia.py
yardstick/network_services/vnf_generic/vnf/tg_rfc2544_trex.py
yardstick/network_services/vnf_generic/vnf/tg_trex.py
yardstick/network_services/vnf_generic/vnf/udp_replay.py
yardstick/network_services/vnf_generic/vnf/vfw_vnf.py
yardstick/network_services/vnf_generic/vnf/vpe_vnf.py
yardstick/tests/functional/network_services/__init__.py [new file with mode: 0644]
yardstick/tests/functional/network_services/vnf_generic/__init__.py [new file with mode: 0644]
yardstick/tests/functional/network_services/vnf_generic/vnf/__init__.py [new file with mode: 0644]
yardstick/tests/functional/network_services/vnf_generic/vnf/test_base.py [new file with mode: 0644]
yardstick/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_acl_vnf.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_base.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_cgnapt_vnf.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_prox_vnf.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_router_vnf.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_sample_vnf.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_ixload.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_ping.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_prox.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_ixia.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_udp_replay.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_vfw_vnf.py
yardstick/tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py

index 3bb168c..7a11d3e 100644 (file)
@@ -406,7 +406,7 @@ class NetworkServiceTestCase(scenario_base.Scenario):
                 pass
             self.create_interfaces_from_node(vnfd, node)
             vnf_impl = self.get_vnf_impl(vnfd['id'])
-            vnf_instance = vnf_impl(node_name, vnfd)
+            vnf_instance = vnf_impl(node_name, vnfd, scenario_cfg['task_id'])
             vnfs.append(vnf_instance)
 
         self.vnfs = vnfs
index c99d7ed..7ce9bda 100644 (file)
@@ -30,6 +30,7 @@ class NotificationHandler(object):
     """Abstract class to define a endpoint object for a MessagingConsumer"""
 
     def __init__(self, _id, ctx_ids, queue):
+        super(NotificationHandler, self).__init__()
         self._id = _id
         self._ctx_ids = ctx_ids
         self._queue = queue
index 1357f6b..8e9bc87 100644 (file)
@@ -246,8 +246,9 @@ class AclApproxVnf(SampleVNF):
         'packets_dropped': 2,
     }
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if setup_env_helper_type is None:
             setup_env_helper_type = AclApproxSetupEnvSetupEnvHelper
-
-        super(AclApproxVnf, self).__init__(name, vnfd, setup_env_helper_type, resource_helper_type)
+        super(AclApproxVnf, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
index 45a6160..0fb3100 100644 (file)
@@ -11,7 +11,6 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-""" Base class implementation for generic vnf implementation """
 
 import abc
 
@@ -19,6 +18,7 @@ import logging
 import six
 
 from yardstick.common import messaging
+from yardstick.common.messaging import consumer
 from yardstick.common.messaging import payloads
 from yardstick.common.messaging import producer
 from yardstick.network_services.helpers.samplevnf_helper import PortPairs
@@ -174,6 +174,37 @@ class TrafficGeneratorProducer(producer.MessagingProducer):
                                              iteration=iteration, kpi=kpi))
 
 
+@six.add_metaclass(abc.ABCMeta)
+class GenericVNFEndpoint(consumer.NotificationHandler):
+    """Endpoint class for ``GenericVNFConsumer``"""
+
+    @abc.abstractmethod
+    def runner_method_start_iteration(self, ctxt, **kwargs):
+        """Endpoint when RUNNER_METHOD_START_ITERATION is received
+
+        :param ctxt: (dict) {'id': <Producer ID>}
+        :param kwargs: (dict) ``payloads.RunnerPayload`` context
+        """
+
+    @abc.abstractmethod
+    def runner_method_stop_iteration(self, ctxt, **kwargs):
+        """Endpoint when RUNNER_METHOD_STOP_ITERATION is received
+
+        :param ctxt: (dict) {'id': <Producer ID>}
+        :param kwargs: (dict) ``payloads.RunnerPayload`` context
+        """
+
+
+class GenericVNFConsumer(consumer.MessagingConsumer):
+    """MQ consumer for ``GenericVNF`` derived classes"""
+
+    def __init__(self, ctx_ids, endpoints):
+        if not isinstance(endpoints, list):
+            endpoints = [endpoints]
+        super(GenericVNFConsumer, self).__init__(messaging.TOPIC_RUNNER,
+                                                 ctx_ids, endpoints)
+
+
 @six.add_metaclass(abc.ABCMeta)
 class GenericVNF(object):
     """Class providing file-like API for generic VNF implementation
@@ -186,8 +217,9 @@ class GenericVNF(object):
     UPLINK = PortPairs.UPLINK
     DOWNLINK = PortPairs.DOWNLINK
 
-    def __init__(self, name, vnfd):
+    def __init__(self, name, vnfd, task_id):
         self.name = name
+        self._task_id = task_id
         self.vnfd_helper = VnfdHelper(vnfd)
         # List of statistics we can obtain from this VNF
         # - ETSI MANO 6.3.1.1 monitoring_parameter
@@ -246,10 +278,10 @@ class GenericVNF(object):
 
 @six.add_metaclass(abc.ABCMeta)
 class GenericTrafficGen(GenericVNF):
-    """ Class providing file-like API for generic traffic generator """
+    """Class providing file-like API for generic traffic generator"""
 
-    def __init__(self, name, vnfd):
-        super(GenericTrafficGen, self).__init__(name, vnfd)
+    def __init__(self, name, vnfd, task_id):
+        super(GenericTrafficGen, self).__init__(name, vnfd, task_id)
         self.runs_traffic = True
         self.traffic_finished = False
         self._mq_producer = None
index bfe628f..14f1e2e 100644 (file)
@@ -85,12 +85,12 @@ class CgnaptApproxVnf(SampleVNF):
         "packets_dropped": 4,
     }
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if setup_env_helper_type is None:
             setup_env_helper_type = CgnaptApproxSetupEnvHelper
-
-        super(CgnaptApproxVnf, self).__init__(name, vnfd, setup_env_helper_type,
-                                              resource_helper_type)
+        super(CgnaptApproxVnf, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
 
     def _vnf_up_post(self):
         super(CgnaptApproxVnf, self)._vnf_up_post()
index bc810ec..839f309 100644 (file)
@@ -34,7 +34,8 @@ class ProxApproxVnf(SampleVNF):
     VNF_PROMPT = "PROX started"
     LUA_PARAMETER_NAME = "sut"
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if setup_env_helper_type is None:
             setup_env_helper_type = ProxDpdkVnfSetupEnvHelper
 
@@ -45,8 +46,8 @@ class ProxApproxVnf(SampleVNF):
         self.prev_packets_sent = 0
         self.prev_tsc = 0
         self.tsc_hz = 0
-        super(ProxApproxVnf, self).__init__(name, vnfd, setup_env_helper_type,
-                                            resource_helper_type)
+        super(ProxApproxVnf, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
 
     def _vnf_up_post(self):
         self.resource_helper.up_post()
index 90b7b21..e99de9c 100644 (file)
@@ -34,7 +34,8 @@ class RouterVNF(SampleVNF):
 
     WAIT_TIME = 1
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if setup_env_helper_type is None:
             setup_env_helper_type = DpdkVnfSetupEnvHelper
 
@@ -42,7 +43,8 @@ class RouterVNF(SampleVNF):
         vnfd['mgmt-interface'].pop("pkey", "")
         vnfd['mgmt-interface']['password'] = 'password'
 
-        super(RouterVNF, self).__init__(name, vnfd, setup_env_helper_type, resource_helper_type)
+        super(RouterVNF, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
 
     def instantiate(self, scenario_cfg, context_cfg):
         self.scenario_helper.scenario_cfg = scenario_cfg
index bc65380..3ef7c33 100644 (file)
@@ -619,6 +619,7 @@ class ScenarioHelper(object):
         test_timeout = self.options.get('timeout', constants.DEFAULT_VNF_TIMEOUT)
         return test_duration if test_duration > test_timeout else test_timeout
 
+
 class SampleVNF(GenericVNF):
     """ Class providing file-like API for generic VNF implementation """
 
@@ -628,8 +629,9 @@ class SampleVNF(GenericVNF):
     APP_NAME = "SampleVNF"
     # we run the VNF interactively, so the ssh command will timeout after this long
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
-        super(SampleVNF, self).__init__(name, vnfd)
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
+        super(SampleVNF, self).__init__(name, vnfd, task_id)
         self.bin_path = get_nsb_option('bin_path', '')
 
         self.scenario_helper = ScenarioHelper(self.name)
@@ -860,8 +862,9 @@ class SampleVNFTrafficGen(GenericTrafficGen):
     APP_NAME = 'Sample'
     RUN_WAIT = 1
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
-        super(SampleVNFTrafficGen, self).__init__(name, vnfd)
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
+        super(SampleVNFTrafficGen, self).__init__(name, vnfd, task_id)
         self.bin_path = get_nsb_option('bin_path', '')
 
         self.scenario_helper = ScenarioHelper(self.name)
index 025d2ff..e0fc47d 100644 (file)
@@ -123,12 +123,13 @@ class IxLoadResourceHelper(ClientResourceHelper):
 
 class IxLoadTrafficGen(SampleVNFTrafficGen):
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if resource_helper_type is None:
             resource_helper_type = IxLoadResourceHelper
 
-        super(IxLoadTrafficGen, self).__init__(name, vnfd, setup_env_helper_type,
-                                               resource_helper_type)
+        super(IxLoadTrafficGen, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
         self._result = {}
 
     def run_traffic(self, traffic_profile):
index 4050dc6..a3b5afa 100644 (file)
@@ -103,14 +103,14 @@ class PingTrafficGen(SampleVNFTrafficGen):
     APP_NAME = 'Ping'
     RUN_WAIT = 4
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if setup_env_helper_type is None:
             setup_env_helper_type = PingSetupEnvHelper
         if resource_helper_type is None:
             resource_helper_type = PingResourceHelper
-
-        super(PingTrafficGen, self).__init__(name, vnfd, setup_env_helper_type,
-                                             resource_helper_type)
+        super(PingTrafficGen, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
         self._result = {}
 
     def _check_status(self):
index 282dd92..854319a 100644 (file)
@@ -30,9 +30,11 @@ class ProxTrafficGen(SampleVNFTrafficGen):
     LUA_PARAMETER_NAME = "gen"
     WAIT_TIME = 1
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         # don't call superclass, use custom wrapper of ProxApproxVnf
-        self._vnf_wrapper = ProxApproxVnf(name, vnfd, setup_env_helper_type, resource_helper_type)
+        self._vnf_wrapper = ProxApproxVnf(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
         self.bin_path = get_nsb_option('bin_path', '')
         self.name = self._vnf_wrapper.name
         self.ssh_helper = self._vnf_wrapper.ssh_helper
index 875ae93..4d3bc2c 100644 (file)
@@ -157,12 +157,12 @@ class IxiaTrafficGen(SampleVNFTrafficGen):
 
     APP_NAME = 'Ixia'
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if resource_helper_type is None:
             resource_helper_type = IxiaResourceHelper
-
-        super(IxiaTrafficGen, self).__init__(name, vnfd, setup_env_helper_type,
-                                             resource_helper_type)
+        super(IxiaTrafficGen, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
         self._ixia_traffic_gen = None
         self.ixia_file_name = ''
         self.vnf_port_pairs = []
index 07cec67..cdbb414 100644 (file)
@@ -64,9 +64,9 @@ class TrexTrafficGenRFC(tg_trex.TrexTrafficGen):
     traffic for rfc2544 testcase.
     """
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if resource_helper_type is None:
             resource_helper_type = TrexRfcResourceHelper
-
-        super(TrexTrafficGenRFC, self).__init__(name, vnfd, setup_env_helper_type,
-                                                resource_helper_type)
+        super(TrexTrafficGenRFC, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
index 80b42e2..58b7348 100644 (file)
@@ -198,15 +198,14 @@ class TrexTrafficGen(SampleVNFTrafficGen):
 
     APP_NAME = 'TRex'
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if resource_helper_type is None:
             resource_helper_type = TrexResourceHelper
-
         if setup_env_helper_type is None:
             setup_env_helper_type = TrexDpdkVnfSetupEnvHelper
-
-        super(TrexTrafficGen, self).__init__(name, vnfd, setup_env_helper_type,
-                                             resource_helper_type)
+        super(TrexTrafficGen, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
 
     def _check_status(self):
         return self.resource_helper.check_status()
index fa92744..e3fde1a 100644 (file)
@@ -60,15 +60,14 @@ class UdpReplayApproxVnf(SampleVNF):
 
     PIPELINE_COMMAND = REPLAY_PIPELINE_COMMAND
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if resource_helper_type is None:
             resource_helper_type = UdpReplayResourceHelper
-
         if setup_env_helper_type is None:
             setup_env_helper_type = UdpReplaySetupEnvHelper
-
-        super(UdpReplayApproxVnf, self).__init__(name, vnfd, setup_env_helper_type,
-                                                 resource_helper_type)
+        super(UdpReplayApproxVnf, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
 
     def _build_pipeline_kwargs(self):
         ports = self.vnfd_helper.port_pairs.all_ports
index 432f30a..a1523de 100644 (file)
@@ -52,8 +52,9 @@ class FWApproxVnf(SampleVNF):
         'packets_dropped': 3,
     }
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if setup_env_helper_type is None:
             setup_env_helper_type = FWApproxSetupEnvHelper
-
-        super(FWApproxVnf, self).__init__(name, vnfd, setup_env_helper_type, resource_helper_type)
+        super(FWApproxVnf, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
index bfff45c..b7cf8b3 100644 (file)
@@ -291,11 +291,12 @@ class VpeApproxVnf(SampleVNF):
     COLLECT_KPI = VPE_COLLECT_KPI
     WAIT_TIME = 20
 
-    def __init__(self, name, vnfd, setup_env_helper_type=None, resource_helper_type=None):
+    def __init__(self, name, vnfd, task_id, setup_env_helper_type=None,
+                 resource_helper_type=None):
         if setup_env_helper_type is None:
             setup_env_helper_type = VpeApproxSetupEnvHelper
-
-        super(VpeApproxVnf, self).__init__(name, vnfd, setup_env_helper_type, resource_helper_type)
+        super(VpeApproxVnf, self).__init__(
+            name, vnfd, task_id, setup_env_helper_type, resource_helper_type)
 
     def get_stats(self, *args, **kwargs):
         raise NotImplementedError
diff --git a/yardstick/tests/functional/network_services/__init__.py b/yardstick/tests/functional/network_services/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/yardstick/tests/functional/network_services/vnf_generic/__init__.py b/yardstick/tests/functional/network_services/vnf_generic/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/yardstick/tests/functional/network_services/vnf_generic/vnf/__init__.py b/yardstick/tests/functional/network_services/vnf_generic/vnf/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/yardstick/tests/functional/network_services/vnf_generic/vnf/test_base.py b/yardstick/tests/functional/network_services/vnf_generic/vnf/test_base.py
new file mode 100644 (file)
index 0000000..e57f8f5
--- /dev/null
@@ -0,0 +1,103 @@
+# Copyright (c) 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import multiprocessing
+import time
+import uuid
+
+import mock
+
+from yardstick.common import messaging
+from yardstick.common.messaging import payloads
+from yardstick.common.messaging import producer
+from yardstick.network_services.vnf_generic.vnf import base as vnf_base
+from yardstick.tests.functional import base as ft_base
+
+
+class _TrafficGenMQConsumer(vnf_base.GenericTrafficGen,
+                            vnf_base.GenericVNFEndpoint):
+
+    def __init__(self, name, vnfd, task_id):
+        vnf_base.GenericTrafficGen.__init__(self, name, vnfd, task_id)
+        self.queue = multiprocessing.Queue()
+        self._id = uuid.uuid1().int
+        vnf_base.GenericVNFEndpoint.__init__(self, self._id, [task_id],
+                                             self.queue)
+        self._consumer = vnf_base.GenericVNFConsumer([task_id], self)
+        self._consumer.start_rpc_server()
+
+    def run_traffic(self, *args):
+        pass
+
+    def terminate(self):
+        pass
+
+    def collect_kpi(self):
+        pass
+
+    def instantiate(self, *args):
+        pass
+
+    def scale(self, flavor=''):
+        pass
+
+    def runner_method_start_iteration(self, ctxt, **kwargs):
+        if ctxt['id'] in self._ctx_ids:
+            self._queue.put(
+                {'action': messaging.RUNNER_METHOD_START_ITERATION,
+                 'payload': payloads.RunnerPayload.dict_to_obj(kwargs)})
+
+    def runner_method_stop_iteration(self, ctxt, **kwargs):
+        if ctxt['id'] in self._ctx_ids:
+            self._queue.put(
+                {'action': messaging.RUNNER_METHOD_STOP_ITERATION,
+                 'payload': payloads.RunnerPayload.dict_to_obj(kwargs)})
+
+
+class _DummyProducer(producer.MessagingProducer):
+    pass
+
+
+class GenericVNFMQConsumerTestCase(ft_base.BaseFunctionalTestCase):
+
+    def test_fistro(self):
+        vnfd = {'benchmark': {'kpi': mock.ANY},
+                'vdu': [{'external-interface': 'ext_int'}]
+                }
+        task_id = uuid.uuid1().int
+        tg_obj = _TrafficGenMQConsumer('name_tg', vnfd, task_id)
+        producer = _DummyProducer(messaging.TOPIC_RUNNER, task_id)
+
+        num_messages = 10
+        for i in range(num_messages):
+            pload = payloads.RunnerPayload(version=10, data=i)
+            for method in (messaging.RUNNER_METHOD_START_ITERATION,
+                           messaging.RUNNER_METHOD_STOP_ITERATION):
+                producer.send_message(method, pload)
+
+        time.sleep(0.5)  # Let consumers attend the calls
+        output = []
+        while not tg_obj.queue.empty():
+            data = tg_obj.queue.get(True, 1)
+            data_dict = {'action': data['action'],
+                         'payload': data['payload'].obj_to_dict()}
+            output.append(data_dict)
+
+        self.assertEqual(num_messages * 2, len(output))
+        for i in range(num_messages):
+            pload = payloads.RunnerPayload(version=10, data=i).obj_to_dict()
+            for method in (messaging.RUNNER_METHOD_START_ITERATION,
+                           messaging.RUNNER_METHOD_STOP_ITERATION):
+                reg = {'action': method, 'payload': pload}
+                self.assertIn(reg, output)
index 77a54c0..cdb91f6 100644 (file)
@@ -436,6 +436,7 @@ class TestNetworkServiceTestCase(unittest.TestCase):
             self._get_file_abspath("tg_trex_tpl.yaml")
         self.context_cfg["nodes"]['vnf__1']['VNF model'] = \
             self._get_file_abspath("tg_trex_tpl.yaml")
+        self.context_cfg['task_id'] = 'fake_task_id'
 
         vnf = mock.Mock(autospec=GenericVNF)
         self.s.get_vnf_impl = mock.Mock(return_value=vnf)
index f04d2c6..01fc19a 100644 (file)
@@ -11,7 +11,6 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
 
 import unittest
 import mock
@@ -19,22 +18,14 @@ import os
 import re
 import copy
 
-from yardstick.tests import STL_MOCKS
-from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
 from yardstick.common import utils
 from yardstick.common import exceptions
 from yardstick.benchmark.contexts import base as ctx_base
-
-
-STLClient = mock.MagicMock()
-stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
-stl_patch.start()
-
-if stl_patch:
-    from yardstick.network_services.vnf_generic.vnf import acl_vnf
-    from yardstick.network_services.vnf_generic.vnf.base import VnfdHelper
-    from yardstick.network_services.nfvi.resource import ResourceProfile
-    from yardstick.network_services.vnf_generic.vnf.acl_vnf import AclApproxSetupEnvSetupEnvHelper
+from yardstick.network_services.vnf_generic.vnf import acl_vnf
+from yardstick.network_services.vnf_generic.vnf.base import VnfdHelper
+from yardstick.network_services.nfvi.resource import ResourceProfile
+from yardstick.network_services.vnf_generic.vnf.acl_vnf import AclApproxSetupEnvSetupEnvHelper
+from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
 
 
 TEST_FILE_YAML = 'nsb_test_case.yaml'
@@ -246,7 +237,7 @@ class TestAclApproxVnf(unittest.TestCase):
 
     def test___init__(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd)
+        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd, 'task_id')
         self.assertIsNone(acl_approx_vnf._vnf_process)
 
     @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
@@ -256,7 +247,7 @@ class TestAclApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd)
+        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd, 'task_id')
         acl_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {acl_approx_vnf.name: "mock"}
         }
@@ -279,7 +270,7 @@ class TestAclApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd)
+        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd, 'task_id')
         acl_approx_vnf.q_in = mock.MagicMock()
         acl_approx_vnf.q_out = mock.MagicMock()
         acl_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -291,7 +282,7 @@ class TestAclApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd)
+        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd, 'task_id')
         acl_approx_vnf.q_in = mock.MagicMock()
         acl_approx_vnf.q_out = mock.MagicMock()
         acl_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -312,7 +303,7 @@ class TestAclApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd)
+        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd, 'task_id')
         acl_approx_vnf._build_config = mock.MagicMock()
         acl_approx_vnf.queue_wrapper = mock.MagicMock()
         acl_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg
@@ -332,7 +323,7 @@ class TestAclApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd)
+        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd, 'task_id')
         acl_approx_vnf.deploy_helper = mock.MagicMock()
         acl_approx_vnf.resource_helper = mock.MagicMock()
         acl_approx_vnf._build_config = mock.MagicMock()
@@ -350,7 +341,7 @@ class TestAclApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd)
+        acl_approx_vnf = acl_vnf.AclApproxVnf(name, vnfd, 'task_id')
         acl_approx_vnf._vnf_process = mock.MagicMock()
         acl_approx_vnf._vnf_process.terminate = mock.Mock()
         acl_approx_vnf.used_drivers = {"01:01.0": "i40e",
index ce8205a..2ea13a5 100644 (file)
@@ -11,7 +11,6 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
 
 import multiprocessing
 import os
@@ -26,6 +25,7 @@ from yardstick.common import messaging
 from yardstick.common.messaging import payloads
 from yardstick.network_services.vnf_generic.vnf import base
 from yardstick.ssh import SSH
+from yardstick.tests.unit import base as ut_base
 
 
 IP_PIPELINE_CFG_FILE_TPL = ("arp_route_tbl = ({port0_local_ip_hex},"
@@ -229,22 +229,23 @@ class TestQueueFileWrapper(unittest.TestCase):
         self.assertIsNotNone(queue_file_wrapper.q_out.empty())
 
 
-class TestGenericVNF(unittest.TestCase):
+class TestGenericVNF(ut_base.BaseUnitTestCase):
 
     def test_definition(self):
         """Make sure that the abstract class cannot be instantiated"""
         with self.assertRaises(TypeError) as exc:
             # pylint: disable=abstract-class-instantiated
-            base.GenericVNF('vnf1', VNFD['vnfd:vnfd-catalog']['vnfd'][0])
+            base.GenericVNF('vnf1', VNFD['vnfd:vnfd-catalog']['vnfd'][0],
+                            'task_id')
 
-        msg = ("Can't instantiate abstract class GenericVNF with abstract methods "
-               "collect_kpi, instantiate, scale, start_collect, "
+        msg = ("Can't instantiate abstract class GenericVNF with abstract "
+               "methods collect_kpi, instantiate, scale, start_collect, "
                "stop_collect, terminate, wait_for_instantiate")
 
         self.assertEqual(msg, str(exc.exception))
 
 
-class GenericTrafficGenTestCase(unittest.TestCase):
+class GenericTrafficGenTestCase(ut_base.BaseUnitTestCase):
 
     def test_definition(self):
         """Make sure that the abstract class cannot be instantiated"""
@@ -252,7 +253,7 @@ class GenericTrafficGenTestCase(unittest.TestCase):
         name = 'vnf1'
         with self.assertRaises(TypeError) as exc:
             # pylint: disable=abstract-class-instantiated
-            base.GenericTrafficGen(name, vnfd)
+            base.GenericTrafficGen(name, vnfd, 'task_id')
         msg = ("Can't instantiate abstract class GenericTrafficGen with "
                "abstract methods collect_kpi, instantiate, run_traffic, "
                "scale, terminate")
@@ -262,13 +263,13 @@ class GenericTrafficGenTestCase(unittest.TestCase):
         vnfd = {'benchmark': {'kpi': mock.ANY},
                 'vdu': [{'external-interface': 'ext_int'}]
                 }
-        tg = _DummyGenericTrafficGen('name', vnfd)
+        tg = _DummyGenericTrafficGen('name', vnfd, 'task_id')
         tg._mq_producer = mock.Mock()
         tg._mq_producer.id = 'fake_id'
         self.assertEqual('fake_id', tg.get_mq_producer_id())
 
 
-class TrafficGeneratorProducerTestCase(unittest.TestCase):
+class TrafficGeneratorProducerTestCase(ut_base.BaseUnitTestCase):
 
     @mock.patch.object(oslo_messaging, 'Target', return_value='rpc_target')
     @mock.patch.object(oslo_messaging, 'RPCClient')
@@ -335,3 +336,13 @@ class TrafficGeneratorProducerTestCase(unittest.TestCase):
                                              'tg_pload')
         mock_tg_payload.assert_called_once_with(version=30, iteration=100,
                                                 kpi={'k': 'v'})
+
+
+class GenericVNFConsumerTestCase(ut_base.BaseUnitTestCase):
+
+    def test__init(self):
+        endpoints = 'endpoint_1'
+        _ids = [uuid.uuid1().int]
+        gvnf_consumer = base.GenericVNFConsumer(_ids, endpoints)
+        self.assertEqual(_ids, gvnf_consumer._ids)
+        self.assertEqual([endpoints], gvnf_consumer._endpoints)
index 635ca41..32f5b75 100644 (file)
@@ -318,14 +318,14 @@ class TestCgnaptApproxVnf(unittest.TestCase):
 
     def test___init__(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         self.assertIsNone(cgnapt_approx_vnf._vnf_process)
 
     @mock.patch.object(process, 'check_if_process_failed')
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
     def test_collect_kpi(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         cgnapt_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {cgnapt_approx_vnf.name: "mock"}
         }
@@ -349,7 +349,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
     @mock.patch.object(time, 'sleep')
     def test_vnf_execute_command(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         cgnapt_approx_vnf.q_in = mock.Mock()
         cgnapt_approx_vnf.q_out = mock.Mock()
         cgnapt_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -357,7 +357,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
 
     def test_get_stats(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         with mock.patch.object(cgnapt_approx_vnf, 'vnf_execute') as mock_exec:
             mock_exec.return_value = 'output'
             self.assertEqual('output', cgnapt_approx_vnf.get_stats())
@@ -366,7 +366,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
 
     def test_run_vcgnapt(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         cgnapt_approx_vnf.ssh_helper = mock.Mock()
         cgnapt_approx_vnf.setup_helper = mock.Mock()
         with mock.patch.object(cgnapt_approx_vnf, '_build_config'), \
@@ -379,7 +379,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
     @mock.patch.object(ctx_base.Context, 'get_context_from_server')
     def test_instantiate(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         cgnapt_approx_vnf.deploy_helper = mock.MagicMock()
         cgnapt_approx_vnf.resource_helper = mock.MagicMock()
         cgnapt_approx_vnf._build_config = mock.MagicMock()
@@ -396,7 +396,7 @@ class TestCgnaptApproxVnf(unittest.TestCase):
     def test__vnf_up_post(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
         self.scenario_cfg['options'][name]['napt'] = 'static'
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         cgnapt_approx_vnf.vnf_execute = mock.Mock()
         cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg
         with mock.patch.object(cgnapt_approx_vnf, 'setup_helper') as \
@@ -407,6 +407,6 @@ class TestCgnaptApproxVnf(unittest.TestCase):
 
     def test__vnf_up_post_short(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd)
+        cgnapt_approx_vnf = cgnapt_vnf.CgnaptApproxVnf(name, vnfd, 'task_id')
         cgnapt_approx_vnf.scenario_helper.scenario_cfg = self.scenario_cfg
         cgnapt_approx_vnf._vnf_up_post()
index 678e580..f144e8c 100644 (file)
@@ -317,7 +317,7 @@ class TestProxApproxVnf(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test___init__(self, ssh, *args):
         mock_ssh(ssh)
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         self.assertIsNone(prox_approx_vnf._vnf_process)
 
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
@@ -325,7 +325,7 @@ class TestProxApproxVnf(unittest.TestCase):
     def test_collect_kpi_no_client(self, ssh, *args):
         mock_ssh(ssh)
 
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {prox_approx_vnf.name: "mock"}
         }
@@ -350,7 +350,7 @@ class TestProxApproxVnf(unittest.TestCase):
                                                 [2, 1, 2, 3, 4, 5], [3, 1, 2, 3, 4, 5]]
         resource_helper.collect_collectd_kpi.return_value = {'core': {'result': 234}}
 
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {prox_approx_vnf.name: "mock"}
         }
@@ -376,7 +376,8 @@ class TestProxApproxVnf(unittest.TestCase):
         mock_ssh(ssh)
 
         resource_helper = mock.MagicMock()
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, deepcopy(self.VNFD0))
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, deepcopy(self.VNFD0),
+                                                 'task_id')
         prox_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {prox_approx_vnf.name: "mock"}
         }
@@ -399,7 +400,7 @@ class TestProxApproxVnf(unittest.TestCase):
     def test_run_prox(self, ssh, *_):
         mock_ssh(ssh)
 
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf.scenario_helper.scenario_cfg = self.SCENARIO_CFG
         prox_approx_vnf.ssh_helper.join_bin_path.return_value = '/tool_path12/tool_file34'
         prox_approx_vnf.setup_helper.remote_path = 'configs/file56.cfg'
@@ -413,7 +414,7 @@ class TestProxApproxVnf(unittest.TestCase):
 
     @mock.patch(SSH_HELPER)
     def bad_test_instantiate(self, *args):
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf.scenario_helper = mock.MagicMock()
         prox_approx_vnf.setup_helper = mock.MagicMock()
         # we can't mock super
@@ -423,7 +424,7 @@ class TestProxApproxVnf(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test_wait_for_instantiate_panic(self, ssh, *args):
         mock_ssh(ssh, exec_result=(1, "", ""))
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf._vnf_process = mock.MagicMock(**{"is_alive.return_value": True})
         prox_approx_vnf._run_prox = mock.Mock(return_value=0)
         prox_approx_vnf.WAIT_TIME = 0
@@ -435,7 +436,7 @@ class TestProxApproxVnf(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test_terminate(self, ssh, *args):
         mock_ssh(ssh)
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf._vnf_process = mock.MagicMock()
         prox_approx_vnf._vnf_process.terminate = mock.Mock()
         prox_approx_vnf.ssh_helper = mock.MagicMock()
@@ -447,7 +448,7 @@ class TestProxApproxVnf(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test__vnf_up_post(self, ssh, *args):
         mock_ssh(ssh)
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf.resource_helper = resource_helper = mock.Mock()
 
         prox_approx_vnf._vnf_up_post()
@@ -456,7 +457,7 @@ class TestProxApproxVnf(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test_vnf_execute_oserror(self, ssh, *args):
         mock_ssh(ssh)
-        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0)
+        prox_approx_vnf = prox_vnf.ProxApproxVnf(NAME, self.VNFD0, 'task_id')
         prox_approx_vnf.resource_helper = resource_helper = mock.Mock()
 
         resource_helper.execute.side_effect = OSError(errno.EPIPE, "")
index edd0ff7..ad74145 100644 (file)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
 
 import unittest
 import mock
 
-from yardstick.tests import STL_MOCKS
 from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
 from yardstick.benchmark.contexts import base as ctx_base
-
-
-STLClient = mock.MagicMock()
-stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
-stl_patch.start()
-
-if stl_patch:
-    from yardstick.network_services.vnf_generic.vnf.router_vnf import RouterVNF
+from yardstick.network_services.vnf_generic.vnf.router_vnf import RouterVNF
 
 
 TEST_FILE_YAML = 'nsb_test_case.yaml'
@@ -208,7 +199,7 @@ class TestRouterVNF(unittest.TestCase):
 
     def test___init__(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        router_vnf = RouterVNF(name, vnfd)
+        router_vnf = RouterVNF(name, vnfd, 'task_id')
         self.assertIsNone(router_vnf._vnf_process)
 
     def test_get_stats(self):
@@ -222,7 +213,7 @@ class TestRouterVNF(unittest.TestCase):
         m = mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        router_vnf = RouterVNF(name, vnfd)
+        router_vnf = RouterVNF(name, vnfd, 'task_id')
         router_vnf.scenario_helper.scenario_cfg = {
             'nodes': {router_vnf.name: "mock"}
         }
@@ -241,7 +232,7 @@ class TestRouterVNF(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        router_vnf = RouterVNF(name, vnfd)
+        router_vnf = RouterVNF(name, vnfd, 'task_id')
         router_vnf.scenario_helper.scenario_cfg = self.scenario_cfg
         router_vnf._run()
         router_vnf.ssh_helper.drop_connection.assert_called_once()
@@ -252,7 +243,7 @@ class TestRouterVNF(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        router_vnf = RouterVNF(name, vnfd)
+        router_vnf = RouterVNF(name, vnfd, 'task_id')
         router_vnf.WAIT_TIME = 0
         router_vnf.INTERFACE_WAIT = 0
         self.scenario_cfg.update({"nodes": {"vnf__1": ""}})
@@ -265,7 +256,7 @@ class TestRouterVNF(unittest.TestCase):
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        router_vnf = RouterVNF(name, vnfd)
+        router_vnf = RouterVNF(name, vnfd, 'task_id')
         router_vnf._vnf_process = mock.MagicMock()
         router_vnf._vnf_process.terminate = mock.Mock()
         self.assertIsNone(router_vnf.terminate())
index 48ae3b5..c35d2db 100644 (file)
@@ -1543,7 +1543,7 @@ class TestSampleVnf(unittest.TestCase):
     }
 
     def test___init__(self):
-        sample_vnf = SampleVNF('vnf1', self.VNFD_0)
+        sample_vnf = SampleVNF('vnf1', self.VNFD_0, 'task_id')
 
         self.assertEqual(sample_vnf.name, 'vnf1')
         self.assertDictEqual(sample_vnf.vnfd_helper, self.VNFD_0)
@@ -1561,7 +1561,8 @@ class TestSampleVnf(unittest.TestCase):
         class MyResourceHelper(ResourceHelper):
             pass
 
-        sample_vnf = SampleVNF('vnf1', self.VNFD_0, MySetupEnvHelper, MyResourceHelper)
+        sample_vnf = SampleVNF('vnf1', self.VNFD_0, 'task_id',
+                               MySetupEnvHelper, MyResourceHelper)
 
         self.assertEqual(sample_vnf.name, 'vnf1')
         self.assertDictEqual(sample_vnf.vnfd_helper, self.VNFD_0)
@@ -1575,7 +1576,7 @@ class TestSampleVnf(unittest.TestCase):
     @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.Process')
     def test__start_vnf(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf._run = mock.Mock()
 
         self.assertIsNone(sample_vnf.queue_wrapper)
@@ -1594,7 +1595,7 @@ class TestSampleVnf(unittest.TestCase):
         }
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.scenario_helper.scenario_cfg = {
             'nodes': {sample_vnf.name: 'mock'}
         }
@@ -1638,7 +1639,7 @@ class TestSampleVnf(unittest.TestCase):
                          'plugin1': {'param': 1}}}
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf__0', vnfd)
+        sample_vnf = SampleVNF('vnf__0', vnfd, 'task_id')
         sample_vnf._update_collectd_options(scenario_cfg, context_cfg)
         self.assertEqual(sample_vnf.setup_helper.collectd_options, expected)
 
@@ -1665,7 +1666,7 @@ class TestSampleVnf(unittest.TestCase):
                          'plugin1': {'param': 1}}}
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf._update_options(options2, options1)
         self.assertEqual(options2, expected)
 
@@ -1687,7 +1688,7 @@ class TestSampleVnf(unittest.TestCase):
         ]
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.APP_NAME = 'sample1'
         sample_vnf.WAIT_TIME_FOR_SCRIPT = 0
         sample_vnf._start_server = mock.Mock(return_value=0)
@@ -1718,7 +1719,7 @@ class TestSampleVnf(unittest.TestCase):
         ]
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.APP_NAME = 'sample1'
         sample_vnf.q_out = mock.Mock()
         sample_vnf.q_out.qsize.side_effect = iter(queue_size_list)
@@ -1728,7 +1729,7 @@ class TestSampleVnf(unittest.TestCase):
 
     def test_terminate_without_vnf_process(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.APP_NAME = 'sample1'
         sample_vnf.vnf_execute = mock.Mock()
         sample_vnf.ssh_helper = mock.Mock()
@@ -1739,7 +1740,7 @@ class TestSampleVnf(unittest.TestCase):
 
     def test_get_stats(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.APP_NAME = 'sample1'
         sample_vnf.APP_WORD = 'sample1'
         sample_vnf.vnf_execute = mock.Mock(return_value='the stats')
@@ -1749,7 +1750,7 @@ class TestSampleVnf(unittest.TestCase):
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
     def test_collect_kpi(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.scenario_helper.scenario_cfg = {
             'nodes': {sample_vnf.name: "mock"}
         }
@@ -1777,7 +1778,7 @@ class TestSampleVnf(unittest.TestCase):
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
     def test_collect_kpi_default(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.scenario_helper.scenario_cfg = {
             'nodes': {sample_vnf.name: "mock"}
         }
@@ -1796,7 +1797,7 @@ class TestSampleVnf(unittest.TestCase):
 
     def test_scale(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         self.assertRaises(y_exceptions.FunctionNotImplemented,
                           sample_vnf.scale)
 
@@ -1804,7 +1805,7 @@ class TestSampleVnf(unittest.TestCase):
         test_cmd = 'test cmd'
         run_kwargs = {'arg1': 'val1', 'arg2': 'val2'}
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sample_vnf = SampleVNF('vnf1', vnfd)
+        sample_vnf = SampleVNF('vnf1', vnfd, 'task_id')
         sample_vnf.ssh_helper = mock.Mock()
         sample_vnf.setup_helper = mock.Mock()
         with mock.patch.object(sample_vnf, '_build_config',
@@ -1940,30 +1941,30 @@ class TestSampleVNFTrafficGen(unittest.TestCase):
     }
 
     def test__check_status(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
 
         with self.assertRaises(NotImplementedError):
             sample_vnf_tg._check_status()
 
     def test_listen_traffic(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
 
         sample_vnf_tg.listen_traffic(mock.Mock())
 
     def test_verify_traffic(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
 
         sample_vnf_tg.verify_traffic(mock.Mock())
 
     def test_terminate(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
         sample_vnf_tg._traffic_process = mock.Mock()
         sample_vnf_tg._tg_process = mock.Mock()
 
         sample_vnf_tg.terminate()
 
     def test__wait_for_process(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
         with mock.patch.object(sample_vnf_tg, '_check_status',
                                return_value=0) as mock_status, \
                 mock.patch.object(sample_vnf_tg, '_tg_process') as mock_proc:
@@ -1974,14 +1975,14 @@ class TestSampleVNFTrafficGen(unittest.TestCase):
             mock_status.assert_called_once()
 
     def test__wait_for_process_not_alive(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
         with mock.patch.object(sample_vnf_tg, '_tg_process') as mock_proc:
             mock_proc.is_alive.return_value = False
             self.assertRaises(RuntimeError, sample_vnf_tg._wait_for_process)
             mock_proc.is_alive.assert_called_once()
 
     def test__wait_for_process_delayed(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
         with mock.patch.object(sample_vnf_tg, '_check_status',
                                side_effect=[1, 0]) as mock_status, \
                 mock.patch.object(sample_vnf_tg,
@@ -1993,6 +1994,6 @@ class TestSampleVNFTrafficGen(unittest.TestCase):
             mock_status.assert_has_calls([mock.call(), mock.call()])
 
     def test_scale(self):
-        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0)
+        sample_vnf_tg = SampleVNFTrafficGen('tg1', self.VNFD_0, 'task_id')
         self.assertRaises(y_exceptions.FunctionNotImplemented,
                           sample_vnf_tg.scale)
index 4279050..53474b9 100644 (file)
@@ -126,14 +126,14 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
 
     def test___init__(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         self.assertIsNone(ixload_traffic_gen.resource_helper.data)
 
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server',
                        return_value='mock_node')
     def test_collect_kpi(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         ixload_traffic_gen.scenario_helper.scenario_cfg = {
             'nodes': {ixload_traffic_gen.name: "mock"}
         }
@@ -147,7 +147,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
 
     def test_listen_traffic(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         self.assertIsNone(ixload_traffic_gen.listen_traffic({}))
 
     @mock.patch.object(utils, 'find_relative_file')
@@ -156,7 +156,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
     @mock.patch.object(tg_ixload, 'shutil')
     def test_instantiate(self, mock_shutil, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         scenario_cfg = {'tc': "nsb_test_case",
                         'ixia_profile': "ixload.cfg",
                         'task_path': "/path/to/task"}
@@ -194,7 +194,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
         vnfd['mgmt-interface'].update({'tg-config': {}})
         vnfd['mgmt-interface']['tg-config'].update({'ixchassis': '1.1.1.1'})
         vnfd['mgmt-interface']['tg-config'].update({'py_bin_path': '/root'})
-        sut = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        sut = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         sut.connection = mock.Mock()
         sut._traffic_runner = mock.Mock(return_value=0)
         result = sut.run_traffic(mock_traffic_profile)
@@ -213,7 +213,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
         vnfd['mgmt-interface'].update({'tg-config': {}})
         vnfd['mgmt-interface']['tg-config'].update({'ixchassis': '1.1.1.1'})
         vnfd['mgmt-interface']['tg-config'].update({'py_bin_path': '/root'})
-        sut = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        sut = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         sut.connection = mock.Mock()
         sut._traffic_runner = mock.Mock(return_value=0)
         subprocess.call(['touch', '/tmp/1.csv'])
@@ -223,7 +223,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
 
     def test_terminate(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         self.assertIsNone(ixload_traffic_gen.terminate())
 
     def test_parse_csv_read(self):
@@ -236,7 +236,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
             'HTTP Transaction Rate': True,
         }
         http_reader = [kpi_data]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         result = ixload_traffic_gen.resource_helper.result
         ixload_traffic_gen.resource_helper.parse_csv_read(http_reader)
         for k_left, k_right in tg_ixload.IxLoadResourceHelper.KPI_LIST.items():
@@ -251,7 +251,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
             'HTTP Connection Rate': 4,
             'HTTP Transaction Rate': 5,
         }]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
         init_value = ixload_traffic_gen.resource_helper.result
         ixload_traffic_gen.resource_helper.parse_csv_read(http_reader)
         self.assertDictEqual(ixload_traffic_gen.resource_helper.result,
@@ -265,6 +265,7 @@ class TestIxLoadTrafficGen(ut_base.BaseUnitTestCase):
             'HTTP Concurrent Connections': 3,
             'HTTP Transaction Rate': 5,
         }]
-        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd)
+        ixload_traffic_gen = tg_ixload.IxLoadTrafficGen(NAME, vnfd, 'task_id')
+
         with self.assertRaises(KeyError):
             ixload_traffic_gen.resource_helper.parse_csv_read(http_reader)
index d774bb9..434a7b7 100644 (file)
@@ -20,21 +20,15 @@ import mock
 import unittest
 
 from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
-from yardstick.tests import STL_MOCKS
 from yardstick.benchmark.contexts import base as ctx_base
+from yardstick.network_services.vnf_generic.vnf.tg_ping import PingParser
+from yardstick.network_services.vnf_generic.vnf.tg_ping import PingTrafficGen
+from yardstick.network_services.vnf_generic.vnf.tg_ping import PingResourceHelper
+from yardstick.network_services.vnf_generic.vnf.tg_ping import PingSetupEnvHelper
+from yardstick.network_services.vnf_generic.vnf.vnf_ssh_helper import VnfSshHelper
 
-SSH_HELPER = "yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper"
-
-STLClient = mock.MagicMock()
-stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
-stl_patch.start()
 
-if stl_patch:
-    from yardstick.network_services.vnf_generic.vnf.tg_ping import PingParser
-    from yardstick.network_services.vnf_generic.vnf.tg_ping import PingTrafficGen
-    from yardstick.network_services.vnf_generic.vnf.tg_ping import PingResourceHelper
-    from yardstick.network_services.vnf_generic.vnf.tg_ping import PingSetupEnvHelper
-    from yardstick.network_services.vnf_generic.vnf.vnf_ssh_helper import VnfSshHelper
+SSH_HELPER = "yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper"
 
 
 class TestPingResourceHelper(unittest.TestCase):
@@ -232,7 +226,7 @@ class TestPingTrafficGen(unittest.TestCase):
     @mock.patch("yardstick.ssh.SSH")
     def test___init__(self, ssh):
         ssh.from_node.return_value.execute.return_value = 0, "success", ""
-        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
+        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0, 'task_id')
 
         self.assertIsInstance(ping_traffic_gen.setup_helper, PingSetupEnvHelper)
         self.assertIsInstance(ping_traffic_gen.resource_helper, PingResourceHelper)
@@ -249,7 +243,7 @@ class TestPingTrafficGen(unittest.TestCase):
             (0, 'if_name_2', ''),
         ]
         ssh.from_node.return_value.execute.side_effect = iter(execute_result_data)
-        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
+        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0, 'task_id')
         ext_ifs = ping_traffic_gen.vnfd_helper.interfaces
         self.assertNotEqual(ext_ifs[0]['virtual-interface']['local_iface_name'], 'if_name_1')
         self.assertNotEqual(ext_ifs[1]['virtual-interface']['local_iface_name'], 'if_name_2')
@@ -259,7 +253,7 @@ class TestPingTrafficGen(unittest.TestCase):
     def test_collect_kpi(self, ssh, *args):
         mock_ssh(ssh, exec_result=(0, "success", ""))
 
-        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
+        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0, 'task_id')
         ping_traffic_gen.scenario_helper.scenario_cfg = {
             'nodes': {ping_traffic_gen.name: "mock"}
         }
@@ -277,7 +271,7 @@ class TestPingTrafficGen(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test_instantiate(self, ssh):
         mock_ssh(ssh, spec=VnfSshHelper, exec_result=(0, "success", ""))
-        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
+        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0, 'task_id')
         ping_traffic_gen.setup_helper.ssh_helper = mock.MagicMock(
             **{"execute.return_value": (0, "xe0_fake", "")})
         self.assertIsInstance(ping_traffic_gen.ssh_helper, mock.Mock)
@@ -292,7 +286,7 @@ class TestPingTrafficGen(unittest.TestCase):
         self.assertIsNotNone(ping_traffic_gen._result)
 
     def test_listen_traffic(self):
-        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
+        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0, 'task_id')
         self.assertIsNone(ping_traffic_gen.listen_traffic({}))
 
     @mock.patch("yardstick.ssh.SSH")
@@ -300,5 +294,5 @@ class TestPingTrafficGen(unittest.TestCase):
         ssh.from_node.return_value.execute.return_value = 0, "success", ""
         ssh.from_node.return_value.run.return_value = 0, "success", ""
 
-        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0)
+        ping_traffic_gen = PingTrafficGen('vnf1', self.VNFD_0, 'task_id')
         self.assertIsNone(ping_traffic_gen.terminate())
index 3e2f598..5ad182f 100644 (file)
@@ -17,21 +17,14 @@ import unittest
 import mock
 
 from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
-from yardstick.tests import STL_MOCKS
 from yardstick.benchmark.contexts import base as ctx_base
+from yardstick.network_services.vnf_generic.vnf.tg_prox import ProxTrafficGen
+from yardstick.network_services.traffic_profile.base import TrafficProfile
 
 
 SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper'
 NAME = 'vnf__1'
 
-STLClient = mock.MagicMock()
-stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
-stl_patch.start()
-
-if stl_patch:
-    from yardstick.network_services.vnf_generic.vnf.tg_prox import ProxTrafficGen
-    from yardstick.network_services.traffic_profile.base import TrafficProfile
-
 
 @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.time')
 class TestProxTrafficGen(unittest.TestCase):
@@ -321,7 +314,7 @@ class TestProxTrafficGen(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test___init__(self, ssh, *args):
         mock_ssh(ssh)
-        prox_traffic_gen = ProxTrafficGen(NAME, self.VNFD0)
+        prox_traffic_gen = ProxTrafficGen(NAME, self.VNFD0, 'task_id')
         self.assertIsNone(prox_traffic_gen._tg_process)
         self.assertIsNone(prox_traffic_gen._traffic_process)
 
@@ -329,7 +322,7 @@ class TestProxTrafficGen(unittest.TestCase):
     @mock.patch(SSH_HELPER)
     def test_collect_kpi(self, ssh, *args):
         mock_ssh(ssh)
-        prox_traffic_gen = ProxTrafficGen(NAME, self.VNFD0)
+        prox_traffic_gen = ProxTrafficGen(NAME, self.VNFD0, 'task_id')
         prox_traffic_gen.scenario_helper.scenario_cfg = {
             'nodes': {prox_traffic_gen.name: "mock"}
         }
@@ -357,7 +350,7 @@ class TestProxTrafficGen(unittest.TestCase):
         mock_traffic_profile.params = self.TRAFFIC_PROFILE
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        prox_traffic_gen = ProxTrafficGen(NAME, vnfd)
+        prox_traffic_gen = ProxTrafficGen(NAME, vnfd, 'task_id')
         ssh_helper = mock.MagicMock(
             **{"execute.return_value": (0, "", ""), "bin_path": ""})
         prox_traffic_gen.ssh_helper = ssh_helper
@@ -399,12 +392,12 @@ class TestProxTrafficGen(unittest.TestCase):
         mock_traffic_profile.params = self.TRAFFIC_PROFILE
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sut = ProxTrafficGen(NAME, vnfd)
+        sut = ProxTrafficGen(NAME, vnfd, 'task_id')
         sut._get_socket = mock.MagicMock()
         sut.ssh_helper = mock.Mock()
         sut.ssh_helper.run = mock.Mock()
         sut.setup_helper.prox_config_dict = {}
-        sut._connect_client = mock.Mock(autospec=STLClient)
+        sut._connect_client = mock.Mock(autospec=mock.Mock())
         sut._connect_client.get_stats = mock.Mock(return_value="0")
         sut._setup_mq_producer = mock.Mock(return_value='mq_producer')
         sut._traffic_runner(mock_traffic_profile, mock.ANY)
@@ -414,7 +407,7 @@ class TestProxTrafficGen(unittest.TestCase):
     def test_listen_traffic(self, ssh, *args):
         mock_ssh(ssh)
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        prox_traffic_gen = ProxTrafficGen(NAME, vnfd)
+        prox_traffic_gen = ProxTrafficGen(NAME, vnfd, 'task_id')
         self.assertIsNone(prox_traffic_gen.listen_traffic(mock.Mock()))
 
     @mock.patch('yardstick.network_services.vnf_generic.vnf.prox_helpers.socket')
@@ -422,7 +415,7 @@ class TestProxTrafficGen(unittest.TestCase):
     def test_terminate(self, ssh, *args):
         mock_ssh(ssh)
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        prox_traffic_gen = ProxTrafficGen(NAME, vnfd)
+        prox_traffic_gen = ProxTrafficGen(NAME, vnfd, 'task_id')
         prox_traffic_gen._terminated = mock.MagicMock()
         prox_traffic_gen._traffic_process = mock.MagicMock()
         prox_traffic_gen._traffic_process.terminate = mock.Mock()
index f34faae..ddb6324 100644 (file)
@@ -177,7 +177,7 @@ class TestIXIATrafficGen(unittest.TestCase):
             ssh.from_node.return_value = ssh_mock
             vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
             # NOTE(ralonsoh): check the object returned.
-            tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd)
+            tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd, 'task_id')
 
     def test_listen_traffic(self, *args):
         with mock.patch("yardstick.ssh.SSH") as ssh:
@@ -186,7 +186,8 @@ class TestIXIATrafficGen(unittest.TestCase):
                 mock.Mock(return_value=(0, "", ""))
             ssh.from_node.return_value = ssh_mock
             vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd)
+            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd,
+                                                               'task_id')
             self.assertIsNone(ixnet_traffic_gen.listen_traffic({}))
 
     @mock.patch.object(ctx_base.Context, 'get_context_from_server', return_value='fake_context')
@@ -199,7 +200,8 @@ class TestIXIATrafficGen(unittest.TestCase):
                 mock.Mock(return_value=(0, "", ""))
             ssh.from_node.return_value = ssh_mock
             vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd)
+            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd,
+                                                               'task_id')
             scenario_cfg = {'tc': "nsb_test_case", "topology": "",
                             'ixia_profile': "ixload.cfg"}
             scenario_cfg.update(
@@ -236,7 +238,8 @@ class TestIXIATrafficGen(unittest.TestCase):
             ssh.from_node.return_value = ssh_mock
 
             vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd)
+            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd,
+                                                               'task_id')
             ixnet_traffic_gen.scenario_helper.scenario_cfg = {
                 'nodes': {ixnet_traffic_gen.name: "mock"}
             }
@@ -255,7 +258,8 @@ class TestIXIATrafficGen(unittest.TestCase):
             ssh_mock.execute = \
                 mock.Mock(return_value=(0, "", ""))
             ssh.from_node.return_value = ssh_mock
-            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd)
+            ixnet_traffic_gen = tg_rfc2544_ixia.IxiaTrafficGen(NAME, vnfd,
+                                                               'task_id')
             ixnet_traffic_gen._terminated = mock.MagicMock()
             ixnet_traffic_gen._terminated.value = 0
             ixnet_traffic_gen._ixia_traffic_gen = mock.MagicMock()
@@ -271,7 +275,7 @@ class TestIXIATrafficGen(unittest.TestCase):
 
     def test__check_status(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        sut = tg_rfc2544_ixia.IxiaTrafficGen('vnf1', vnfd)
+        sut = tg_rfc2544_ixia.IxiaTrafficGen('vnf1', vnfd, 'task_id')
         sut._check_status()
 
     @mock.patch("yardstick.ssh.SSH")
@@ -337,7 +341,7 @@ class TestIXIATrafficGen(unittest.TestCase):
         mock_traffic_profile.get_drop_percentage.return_value = [
             'Completed', samples]
 
-        sut = tg_rfc2544_ixia.IxiaTrafficGen(name, vnfd)
+        sut = tg_rfc2544_ixia.IxiaTrafficGen(name, vnfd, 'task_id')
         sut.vnf_port_pairs = [[[0], [1]]]
         sut.tc_file_name = self._get_file_abspath(TEST_FILE_YAML)
         sut.topology = ""
index ba90dc9..6aba410 100644 (file)
@@ -223,12 +223,14 @@ class TestTrexTrafficGenRFC(unittest.TestCase):
         self._mock_ssh_helper.stop()
 
     def test___init__(self):
-        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC('vnf1', self.VNFD_0)
+        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC(
+            'vnf1', self.VNFD_0, 'task_id')
         self.assertIsNotNone(trex_traffic_gen.resource_helper._terminated.value)
 
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
     def test_collect_kpi(self, *args):
-        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC('vnf1', self.VNFD_0)
+        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC(
+            'vnf1', self.VNFD_0, 'task_id')
         trex_traffic_gen.scenario_helper.scenario_cfg = {
             'nodes': {trex_traffic_gen.name: "mock"}
         }
@@ -244,7 +246,8 @@ class TestTrexTrafficGenRFC(unittest.TestCase):
         mock_traffic_profile.get_traffic_definition.return_value = "64"
         mock_traffic_profile.params = self.TRAFFIC_PROFILE
 
-        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC('vnf1', self.VNFD_0)
+        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC(
+            'vnf1', self.VNFD_0, 'task_id')
         trex_traffic_gen._start_server = mock.Mock(return_value=0)
         trex_traffic_gen.resource_helper = mock.MagicMock()
         trex_traffic_gen.setup_helper.setup_vnf_environment = mock.MagicMock()
@@ -279,7 +282,8 @@ class TestTrexTrafficGenRFC(unittest.TestCase):
         mock_traffic_profile.get_traffic_definition.return_value = "64"
         mock_traffic_profile.params = self.TRAFFIC_PROFILE
 
-        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC('vnf1', self.VNFD_0)
+        trex_traffic_gen = tg_rfc2544_trex.TrexTrafficGenRFC(
+            'vnf1', self.VNFD_0, 'task_id')
         trex_traffic_gen.resource_helper = mock.MagicMock()
         trex_traffic_gen.setup_helper.setup_vnf_environment = mock.MagicMock()
         scenario_cfg = {
index 700e910..9ed2abb 100644 (file)
@@ -300,14 +300,14 @@ class TestTrexTrafficGen(unittest.TestCase):
 
     def test___init__(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         self.assertIsInstance(trex_traffic_gen.resource_helper,
                               tg_trex.TrexResourceHelper)
 
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server', return_value='mock_node')
     def test_collect_kpi(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen.scenario_helper.scenario_cfg = {
             'nodes': {trex_traffic_gen.name: "mock"}
         }
@@ -321,13 +321,13 @@ class TestTrexTrafficGen(unittest.TestCase):
 
     def test_listen_traffic(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         self.assertIsNone(trex_traffic_gen.listen_traffic({}))
 
     @mock.patch.object(ctx_base.Context, 'get_context_from_server', return_value='fake_context')
     def test_instantiate(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen._start_server = mock.Mock(return_value=0)
         trex_traffic_gen._tg_process = mock.MagicMock()
         trex_traffic_gen._tg_process.start = mock.Mock()
@@ -342,7 +342,7 @@ class TestTrexTrafficGen(unittest.TestCase):
     @mock.patch.object(ctx_base.Context, 'get_context_from_server', return_value='fake_context')
     def test_instantiate_error(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen._start_server = mock.Mock(return_value=0)
         trex_traffic_gen._tg_process = mock.MagicMock()
         trex_traffic_gen._tg_process.start = mock.Mock()
@@ -355,7 +355,7 @@ class TestTrexTrafficGen(unittest.TestCase):
 
     def test__start_server(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen.ssh_helper = mock.MagicMock()
         trex_traffic_gen.resource_helper.ssh_helper = mock.MagicMock()
         trex_traffic_gen.scenario_helper.scenario_cfg = {}
@@ -363,7 +363,7 @@ class TestTrexTrafficGen(unittest.TestCase):
 
     def test__start_server_multiple_queues(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen.ssh_helper = mock.MagicMock()
         trex_traffic_gen.resource_helper.ssh_helper = mock.MagicMock()
         trex_traffic_gen.scenario_helper.scenario_cfg = {
@@ -377,7 +377,7 @@ class TestTrexTrafficGen(unittest.TestCase):
         mock_traffic_profile.params = self.TRAFFIC_PROFILE
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        self.sut = tg_trex.TrexTrafficGen(NAME, vnfd)
+        self.sut = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         self.sut.ssh_helper = mock.Mock()
         self.sut.ssh_helper.run = mock.Mock()
         self.sut._connect_client = mock.Mock()
@@ -393,7 +393,7 @@ class TestTrexTrafficGen(unittest.TestCase):
 
     def test__generate_trex_cfg(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen.resource_helper.ssh_helper = mock.MagicMock()
         self.assertIsNone(trex_traffic_gen.resource_helper.generate_cfg())
 
@@ -432,7 +432,7 @@ class TestTrexTrafficGen(unittest.TestCase):
               'local_mac': '00:00:00:00:00:01'},
              'vnfd-connection-point-ref': 'xe1',
              'name': 'xe1'}]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen.resource_helper.ssh_helper = mock.MagicMock()
         trex_traffic_gen.resource_helper.generate_cfg()
         trex_traffic_gen.resource_helper._build_ports()
@@ -449,7 +449,7 @@ class TestTrexTrafficGen(unittest.TestCase):
         mock_traffic_profile.params = self.TRAFFIC_PROFILE
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        self.sut = tg_trex.TrexTrafficGen(NAME, vnfd)
+        self.sut = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         self.sut.ssh_helper = mock.Mock()
         self.sut.ssh_helper.run = mock.Mock()
         self.sut._traffic_runner = mock.Mock(return_value=0)
@@ -459,14 +459,14 @@ class TestTrexTrafficGen(unittest.TestCase):
 
     def test_terminate(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         trex_traffic_gen.ssh_helper = mock.MagicMock()
         trex_traffic_gen.resource_helper.ssh_helper = mock.MagicMock()
         self.assertIsNone(trex_traffic_gen.terminate())
 
     def test__connect_client(self):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd)
+        trex_traffic_gen = tg_trex.TrexTrafficGen(NAME, vnfd, 'task_id')
         client = mock.Mock()
         client.connect = mock.Mock(return_value=0)
         self.assertIsNotNone(trex_traffic_gen.resource_helper._connect(client))
index 1c4ced3..56c971d 100644 (file)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
 
 import unittest
 import mock
 import os
 
-from yardstick.tests import STL_MOCKS
 from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
 from yardstick.benchmark.contexts import base as ctx_base
+from yardstick.network_services.vnf_generic.vnf.udp_replay import UdpReplayApproxVnf
+from yardstick.network_services.vnf_generic.vnf.sample_vnf import ScenarioHelper
 
 
 SSH_HELPER = 'yardstick.network_services.vnf_generic.vnf.sample_vnf.VnfSshHelper'
 
-STLClient = mock.MagicMock()
-stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
-stl_patch.start()
-
-if stl_patch:
-    from yardstick.network_services.vnf_generic.vnf.udp_replay import UdpReplayApproxVnf
-    from yardstick.network_services.vnf_generic.vnf.sample_vnf import ScenarioHelper
-
-
 TEST_FILE_YAML = 'nsb_test_case.yaml'
 
-
 NAME = "vnf__1"
 
 
@@ -327,7 +317,8 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
     }
 
     def test___init__(self, *args):
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0,
+                                                   'task_id')
         self.assertIsNone(udp_replay_approx_vnf._vnf_process)
 
     @mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
@@ -342,7 +333,7 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
             "Port\t\tRx Packet\t\tTx Packet\t\tRx Pkt Drop\t\tTx Pkt Drop \r\n"\
             "0\t\t7374156\t\t7374136\t\t\t0\t\t\t0\r\n" \
             "1\t\t7374316\t\t7374315\t\t\t0\t\t\t0\r\n\r\nReplay>\r\r\nReplay>"
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, vnfd)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, vnfd, 'task_id')
         udp_replay_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {udp_replay_approx_vnf.name: "mock"}
         }
@@ -364,7 +355,8 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
     def test_get_stats(self, ssh, *args):
         mock_ssh(ssh)
 
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0,
+                                                   'task_id')
         udp_replay_approx_vnf.q_in = mock.MagicMock()
         udp_replay_approx_vnf.q_out = mock.MagicMock()
         udp_replay_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -390,7 +382,8 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
         nfvi_context.attrs = {'nfvi_type': 'baremetal'}
         mock_get_ctx.return_value = nfvi_context
 
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0,
+                                                   'task_id')
         udp_replay_approx_vnf.queue_wrapper = mock.MagicMock()
         udp_replay_approx_vnf.nfvi_context = mock_get_ctx
         udp_replay_approx_vnf.nfvi_context.attrs = {'nfvi_type': 'baremetal'}
@@ -415,7 +408,8 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
         nfvi_context.attrs = {'nfvi_type': "baremetal"}
         mock_get_ctx.return_value = nfvi_context
 
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0,
+                                                   'task_id')
         udp_replay_approx_vnf.setup_helper.bound_pci = ['0000:00:0.1', '0000:00:0.3']
         udp_replay_approx_vnf.all_ports = ["xe0", "xe1"]
         udp_replay_approx_vnf.ssh_helper.provision_tool = mock.MagicMock(return_value="tool_path")
@@ -437,7 +431,8 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
     def test_run_udp_replay(self, ssh, *args):
         mock_ssh(ssh)
 
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0,
+                                                   'task_id')
         udp_replay_approx_vnf._build_config = mock.MagicMock()
         udp_replay_approx_vnf.queue_wrapper = mock.MagicMock()
         udp_replay_approx_vnf.scenario_helper = mock.MagicMock()
@@ -451,7 +446,8 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
     def test_instantiate(self, ssh, *args):
         mock_ssh(ssh)
 
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0,
+                                                   'task_id')
         udp_replay_approx_vnf.q_out.put("Replay>")
         udp_replay_approx_vnf.WAIT_TIME = 0
         udp_replay_approx_vnf.setup_helper.setup_vnf_environment = mock.Mock()
@@ -469,7 +465,8 @@ class TestUdpReplayApproxVnf(unittest.TestCase):
     @mock.patch('yardstick.ssh.SSH')
     @mock.patch(SSH_HELPER)
     def test_instantiate_panic(self, *args):
-        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0)
+        udp_replay_approx_vnf = UdpReplayApproxVnf(NAME, self.VNFD_0,
+                                                   'task_id')
         udp_replay_approx_vnf.WAIT_TIME = 0
         udp_replay_approx_vnf.q_out.put("some text PANIC some text")
         udp_replay_approx_vnf.setup_helper.setup_vnf_environment = mock.Mock()
index b67a3cd..efbb7a8 100644 (file)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
 
 import unittest
 import mock
 import os
 
-from yardstick.tests import STL_MOCKS
-from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
-
 from yardstick.common import utils
 from yardstick.benchmark.contexts import base as ctx_base
-
-STLClient = mock.MagicMock()
-stl_patch = mock.patch.dict("sys.modules", STL_MOCKS)
-stl_patch.start()
-
-if stl_patch:
-    from yardstick.network_services.vnf_generic.vnf.vfw_vnf import FWApproxVnf
-    from yardstick.network_services.nfvi.resource import ResourceProfile
-    from yardstick.network_services.vnf_generic.vnf.vfw_vnf import FWApproxSetupEnvHelper
+from yardstick.network_services.vnf_generic.vnf.vfw_vnf import FWApproxVnf
+from yardstick.network_services.nfvi.resource import ResourceProfile
+from yardstick.network_services.vnf_generic.vnf.vfw_vnf import FWApproxSetupEnvHelper
+from yardstick.tests.unit.network_services.vnf_generic.vnf.test_base import mock_ssh
 
 
 TEST_FILE_YAML = 'nsb_test_case.yaml'
@@ -241,7 +232,7 @@ class TestFWApproxVnf(unittest.TestCase):
 
     def test___init__(self, *args):
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        vfw_approx_vnf = FWApproxVnf(name, vnfd)
+        vfw_approx_vnf = FWApproxVnf(name, vnfd, 'task_id')
         self.assertIsNone(vfw_approx_vnf._vnf_process)
 
     STATS = """\
@@ -264,7 +255,7 @@ pipeline>
     def test_collect_kpi(self, ssh, *args):
         mock_ssh(ssh)
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        vfw_approx_vnf = FWApproxVnf(name, vnfd)
+        vfw_approx_vnf = FWApproxVnf(name, vnfd, 'task_id')
         vfw_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {vfw_approx_vnf.name: "mock"}
         }
@@ -290,7 +281,7 @@ pipeline>
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        vfw_approx_vnf = FWApproxVnf(name, vnfd)
+        vfw_approx_vnf = FWApproxVnf(name, vnfd, 'task_id')
         vfw_approx_vnf.q_in = mock.MagicMock()
         vfw_approx_vnf.q_out = mock.MagicMock()
         vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -302,7 +293,7 @@ pipeline>
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        vfw_approx_vnf = FWApproxVnf(name, vnfd)
+        vfw_approx_vnf = FWApproxVnf(name, vnfd, 'task_id')
         vfw_approx_vnf.q_in = mock.MagicMock()
         vfw_approx_vnf.q_out = mock.MagicMock()
         vfw_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -322,7 +313,7 @@ pipeline>
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        vfw_approx_vnf = FWApproxVnf(name, vnfd)
+        vfw_approx_vnf = FWApproxVnf(name, vnfd, 'task_id')
         vfw_approx_vnf._build_config = mock.MagicMock()
         vfw_approx_vnf.queue_wrapper = mock.MagicMock()
         vfw_approx_vnf.ssh_helper = mock.MagicMock()
@@ -344,7 +335,7 @@ pipeline>
         mock_ssh(ssh)
 
         vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
-        vfw_approx_vnf = FWApproxVnf(name, vnfd)
+        vfw_approx_vnf = FWApproxVnf(name, vnfd, 'task_id')
         vfw_approx_vnf.ssh_helper = ssh
         vfw_approx_vnf.deploy_helper = mock.MagicMock()
         vfw_approx_vnf.resource_helper = mock.MagicMock()
index c1664f2..7b937df 100644 (file)
@@ -549,7 +549,7 @@ class TestVpeApproxVnf(unittest.TestCase):
         self._mock_time_sleep.stop()
 
     def test___init__(self):
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         self.assertIsNone(vpe_approx_vnf._vnf_process)
 
     @mock.patch.object(ctx_base.Context, 'get_physical_node_from_server',
@@ -563,7 +563,7 @@ class TestVpeApproxVnf(unittest.TestCase):
         resource.amqp_collect_nfvi_kpi.return_value = {'foo': 234}
         resource.check_if_system_agent_running.return_value = (1, None)
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {vpe_approx_vnf.name: "mock"}
         }
@@ -592,7 +592,7 @@ class TestVpeApproxVnf(unittest.TestCase):
         resource.check_if_system_agent_running.return_value = 0, '1234'
         resource.amqp_collect_nfvi_kpi.return_value = {'foo': 234}
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf.scenario_helper.scenario_cfg = {
             'nodes': {vpe_approx_vnf.name: "mock"}
         }
@@ -614,7 +614,7 @@ class TestVpeApproxVnf(unittest.TestCase):
     @mock.patch.object(sample_vnf, 'VnfSshHelper')
     def test_vnf_execute(self, ssh):
         test_base.mock_ssh(ssh)
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf.q_in = mock.MagicMock()
         vpe_approx_vnf.q_out = mock.MagicMock()
         vpe_approx_vnf.q_out.qsize = mock.Mock(return_value=0)
@@ -624,7 +624,7 @@ class TestVpeApproxVnf(unittest.TestCase):
     def test_run_vpe(self, ssh):
         test_base.mock_ssh(ssh)
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf.tc_file_name = get_file_abspath(TEST_FILE_YAML)
         vpe_approx_vnf.vnf_cfg = {
             'lb_config': 'SW',
@@ -707,7 +707,7 @@ class TestVpeApproxVnf(unittest.TestCase):
 
         mock_resource = mock.MagicMock()
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf._vnf_process = mock_process
         vpe_approx_vnf.q_out = mock_q_out
         vpe_approx_vnf.queue_wrapper = mock.Mock(
@@ -732,7 +732,7 @@ class TestVpeApproxVnf(unittest.TestCase):
 
         mock_resource = mock.MagicMock()
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf._vnf_process = mock_process
         vpe_approx_vnf.q_out = mock_q_out
         vpe_approx_vnf.queue_wrapper = mock.Mock(
@@ -751,7 +751,7 @@ class TestVpeApproxVnf(unittest.TestCase):
 
         mock_resource = mock.MagicMock()
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf._vnf_process = mock_process
         vpe_approx_vnf.resource_helper.resource = mock_resource
 
@@ -770,7 +770,7 @@ class TestVpeApproxVnf(unittest.TestCase):
 
         mock_resource = mock.MagicMock()
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf._vnf_process = mock_process
         vpe_approx_vnf.resource_helper.resource = mock_resource
 
@@ -795,7 +795,7 @@ class TestVpeApproxVnf(unittest.TestCase):
 
         mock_resource = mock.MagicMock()
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf._vnf_process = mock_process
         vpe_approx_vnf.q_out = mock_q_out
         vpe_approx_vnf.resource_helper.resource = mock_resource
@@ -809,7 +809,7 @@ class TestVpeApproxVnf(unittest.TestCase):
     def test_terminate(self, ssh):
         test_base.mock_ssh(ssh)
 
-        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0)
+        vpe_approx_vnf = vpe_vnf.VpeApproxVnf(NAME, self.VNFD_0, 'task_id')
         vpe_approx_vnf._vnf_process = mock.MagicMock()
         vpe_approx_vnf._resource_collect_stop = mock.Mock()
         vpe_approx_vnf.resource_helper = mock.MagicMock()