daemon: cleaned up emane stopdaemons logic
This commit is contained in:
parent
2b3e26b7c2
commit
ddcb0205f3
1 changed files with 13 additions and 18 deletions
|
@ -567,36 +567,31 @@ class EmaneManager(ModelManager):
|
||||||
log_file = os.path.join(node.nodedir, f"{iface.name}-emane.log")
|
log_file = os.path.join(node.nodedir, f"{iface.name}-emane.log")
|
||||||
platform_xml = os.path.join(node.nodedir, f"{iface.name}-platform.xml")
|
platform_xml = os.path.join(node.nodedir, f"{iface.name}-platform.xml")
|
||||||
args = f"{emanecmd} -f {log_file} {platform_xml}"
|
args = f"{emanecmd} -f {log_file} {platform_xml}"
|
||||||
output = node.cmd(args)
|
node.cmd(args)
|
||||||
logging.info("node(%s) emane daemon running: %s", node.name, args)
|
logging.info("node(%s) emane daemon running: %s", node.name, args)
|
||||||
logging.debug("node(%s) emane daemon output: %s", node.name, output)
|
|
||||||
else:
|
else:
|
||||||
path = self.session.session_dir
|
path = self.session.session_dir
|
||||||
log_file = os.path.join(path, f"{iface.name}-emane.log")
|
log_file = os.path.join(path, f"{iface.name}-emane.log")
|
||||||
platform_xml = os.path.join(path, f"{iface.name}-platform.xml")
|
platform_xml = os.path.join(path, f"{iface.name}-platform.xml")
|
||||||
emanecmd += f" -f {log_file} {platform_xml}"
|
emanecmd += f" -f {log_file} {platform_xml}"
|
||||||
utils.cmd(emanecmd, cwd=path)
|
node.host_cmd(emanecmd, cwd=path)
|
||||||
self.session.distributed.execute(lambda x: x.remote_cmd(emanecmd, cwd=path))
|
logging.info("node(%s) host emane daemon running: %s", node.name, emanecmd)
|
||||||
logging.info("host emane daemon running: %s", emanecmd)
|
|
||||||
|
|
||||||
def stopdaemons(self) -> None:
|
def stopdaemons(self) -> None:
|
||||||
"""
|
"""
|
||||||
Kill the appropriate EMANE daemons.
|
Kill the appropriate EMANE daemons.
|
||||||
"""
|
"""
|
||||||
kill_emaned = "killall -q emane"
|
kill_emaned = "killall -q emane"
|
||||||
stop_emane_on_host = False
|
for node_id in sorted(self._emane_nets):
|
||||||
for node in self.getnodes():
|
emane_net = self._emane_nets[node_id]
|
||||||
if isinstance(node, Rj45Node):
|
for iface in emane_net.get_ifaces():
|
||||||
stop_emane_on_host = True
|
node = iface.node
|
||||||
continue
|
if not node.up:
|
||||||
if node.up:
|
continue
|
||||||
node.cmd(kill_emaned, wait=False)
|
if isinstance(node, Rj45Node):
|
||||||
if stop_emane_on_host:
|
node.host_cmd(kill_emaned, wait=False)
|
||||||
try:
|
else:
|
||||||
utils.cmd(kill_emaned, wait=False)
|
node.cmd(kill_emaned, wait=False)
|
||||||
self.session.distributed.execute(lambda x: x.remote_cmd(kill_emaned))
|
|
||||||
except CoreCommandError:
|
|
||||||
logging.exception("error shutting down emane daemons")
|
|
||||||
|
|
||||||
def install_iface(self, emane_net: EmaneNet, iface: CoreInterface) -> None:
|
def install_iface(self, emane_net: EmaneNet, iface: CoreInterface) -> None:
|
||||||
config = self.get_iface_config(emane_net, iface)
|
config = self.get_iface_config(emane_net, iface)
|
||||||
|
|
Loading…
Add table
Reference in a new issue