- Fix in shutdown order (again)
- Do not check tun_port when raising tun channels, FD channels have no port and it's ok
self._logger.debug("ExperimentController: Starting parallel shutdown")
for testbed_guids in reversed(self._testbed_order):
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)
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:
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])
self._parallel([functools.partial(shutdown_testbed, guid)
for guid in remaining_guids])
self._delay_recover = True
def prepare(self, home_path):
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,
# Ad-hoc peer_iface
self.peer_iface = _CrossIface(
self.peer_proto,