hosts = [...list of hosts...]
group = execnet.Group(("ssh %s" % host for host in hosts))
group.remote_exec(something)
Imagine having a grid of 200 hosts.
While Group.remoteexec() will run on all the hosts in parallel, Group.__init_\() will connect via ssh to each one of them, serially. On a typical LAN, this easily accounts to minutes.
I attach a patch for multi.py (on top of the latest hg commit) that is intended to fix the problem. However, with that patch the program deadlocks in gateway_base.py, line 360, and I can't figure out the reason.
Consider the following snippet:
Imagine having a grid of 200 hosts. While Group.remoteexec() will run on all the hosts in parallel, Group.__init_\() will connect via ssh to each one of them, serially. On a typical LAN, this easily accounts to minutes.
I attach a patch for multi.py (on top of the latest hg commit) that is intended to fix the problem. However, with that patch the program deadlocks in gateway_base.py, line 360, and I can't figure out the reason.