Merge "Cleanup ScenarioGeneral unit tests"
[yardstick.git] / yardstick / benchmark / scenarios / networking / vnf_generic.py
index 1c3ea1f..eb62d62 100644 (file)
@@ -23,6 +23,7 @@ import time
 import six
 import yaml
 
+from yardstick.benchmark.contexts import base as context_base
 from yardstick.benchmark.scenarios import base as scenario_base
 from yardstick.common.constants import LOG_DIR
 from yardstick.common import exceptions
@@ -36,6 +37,7 @@ from yardstick.network_services.traffic_profile import base as tprofile_base
 from yardstick.network_services.utils import get_nsb_option
 from yardstick import ssh
 
+
 traffic_profile.register_modules()
 
 
@@ -133,11 +135,10 @@ class NetworkServiceTestCase(scenario_base.Scenario):
         with utils.open_relative_file(profile, path) as infile:
             return infile.read()
 
-    def _get_topology(self):
-        topology = self.scenario_cfg["topology"]
-        path = self.scenario_cfg["task_path"]
-        with utils.open_relative_file(topology, path) as infile:
-            return infile.read()
+    def _get_duration(self):
+        options = self.scenario_cfg.get('options', {})
+        return options.get('duration',
+                           tprofile_base.TrafficProfileConfig.DEFAULT_DURATION)
 
     def _fill_traffic_profile(self):
         tprofile = self._get_traffic_profile()
@@ -147,12 +148,17 @@ class NetworkServiceTestCase(scenario_base.Scenario):
             'imix': self._get_traffic_imix(),
             tprofile_base.TrafficProfile.UPLINK: {},
             tprofile_base.TrafficProfile.DOWNLINK: {},
-            'extra_args': extra_args
-        }
-
+            'extra_args': extra_args,
+            'duration': self._get_duration()}
         traffic_vnfd = vnfdgen.generate_vnfd(tprofile, tprofile_data)
         self.traffic_profile = tprofile_base.TrafficProfile.get(traffic_vnfd)
 
+    def _get_topology(self):
+        topology = self.scenario_cfg["topology"]
+        path = self.scenario_cfg["task_path"]
+        with utils.open_relative_file(topology, path) as infile:
+            return infile.read()
+
     def _render_topology(self):
         topology = self._get_topology()
         topology_args = self.scenario_cfg.get('extra_args', {})
@@ -444,7 +450,7 @@ class NetworkServiceTestCase(scenario_base.Scenario):
             traffic_gen.listen_traffic(self.traffic_profile)
 
         # register collector with yardstick for KPI collection.
-        self.collector = Collector(self.vnfs)
+        self.collector = Collector(self.vnfs, context_base.Context.get_physical_nodes())
         self.collector.start()
 
         # Start the actual traffic