[NFVBENCH-59] Add Unit Testing of the NDR/PDR convergence algorithm using the dummy...
[nfvbench.git] / nfvbench / chain_managers.py
index fe3a2d4..8b605aa 100644 (file)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 #
+import time
+
 
 from log import LOG
 from network import Network
 from packet_analyzer import PacketAnalyzer
 from specs import ChainType
 from stats_collector import IntervalCollector
-import time
 
 
 class StageManager(object):
@@ -85,8 +86,14 @@ class StatsManager(object):
         WORKER_CLASS = self.factory.get_chain_worker(self.specs.openstack.encaps,
                                                      self.config.service_chain)
         self.worker = WORKER_CLASS(self.config, self.clients, self.specs)
-        self.worker.set_vlans(self.vlans)
-        self._config_interfaces()
+        try:
+            self.worker.set_vlans(self.vlans)
+            self._config_interfaces()
+        except Exception as exc:
+            # since the wrorker is up and running, we need to close it
+            # in case of exception
+            self.close()
+            raise exc
 
     def _get_data(self):
         return self.worker.get_data()
@@ -104,7 +111,7 @@ class StatsManager(object):
 
     def _generate_traffic(self):
         if self.config.no_traffic:
-            return
+            return {}
 
         self.interval_collector = IntervalCollector(time.time())
         self.interval_collector.attach_notifier(self.notifier)