Attempt at fixing NS3 in PL:
authorClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Fri, 9 Sep 2011 05:21:54 +0000 (07:21 +0200)
committerClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Fri, 9 Sep 2011 05:21:54 +0000 (07:21 +0200)
 - Fix in shutdown order (again)
 - Do not check tun_port when raising tun channels, FD channels have no port and it's ok

src/nepi/core/execute.py
src/nepi/testbeds/planetlab/interfaces.py

index cf32e6a..a29168c 100644 (file)
@@ -714,10 +714,13 @@ class ExperimentController(object):
         self._logger.debug("ExperimentController: Starting parallel shutdown")
         
         for testbed_guids in reversed(self._testbed_order):
+            self._logger.debug("ExperimentController: Shutting down %r", testbed_guids)
             self._parallel([functools.partial(shutdown_testbed, guid)
-                            for guid in testbed_guids])
+                            for guid in set(testbed_guids) - ordered_testbeds])
         remaining_guids = set(self._testbeds) - ordered_testbeds
         if remaining_guids:
+            self._logger.debug("ExperimentController: Shutted down %r", ordered_testbeds)
+            self._logger.debug("ExperimentController: Shutting down %r", remaining_guids)
             self._parallel([functools.partial(shutdown_testbed, guid)
                             for guid in remaining_guids])
             
index 4ae31e6..f7cc5d6 100644 (file)
@@ -255,7 +255,7 @@ class TunIface(object):
             self._delay_recover = True
     
     def prepare(self, home_path):
-        if not self.peer_iface and (self.peer_proto and self.peer_addr and self.peer_port):
+        if not self.peer_iface and (self.peer_proto and self.peer_addr):
             # Ad-hoc peer_iface
             self.peer_iface = _CrossIface(
                 self.peer_proto,