Have a look at the kanif wrapper for TakTuk.
Most often this issue is due to security settings not allowing connection from one of the remote nodes to another of these nodes. For instance, assume that you try do deploy node1 to node 20 from node0. Because TakTuk uses an adaptive deployment tree, node1 is likely to take part in the deployment process by connecting to node11 or more (nodes not included in the initial deployment window of node0). If your system does not allow connection from nodex to nodey for any x and y, this will result in some connection failures.
The two solutions to this issue is either to allow connections between remote nodes or to perform a flat deployment (just disable work-stealing in TakTuk with -d-1).
Notice that this also applies to kanif which has a -F option to switch to flat deployment.
It is probably a matter of options order. All switches that change the way connections are made or information are reported only apply to hosts that follow them on the command line. Thus, to connect to my_host using my_ssh_or_rsh use:
taktuk -c 'my_ssh_or_rsh' -m my_host ...instead of:
taktuk -m my_host -c 'my_ssh_or_rsh' ...
Because of this behavior, TakTuk is not posix compliant regarding its options. This is indicated at the beginning of the manual page in section OPTIONS.
Nevertheless, this is the most convenient way to keep a simple command line syntax even when doing heterogeneous deployments. Please keep in mind that TakTuk is intended to grid deployment and could potentially have to handle each host using different parameters.
Notice also that the kanif wrapper is available for simple cluster administration. It is posix compliant regarding options parsing.
No, TakTuk can propagate its own engine on remote nodes, just use the option -s at the begining of your TakTuk command line. TakTuk has been written in Perl to allow this easy propagation. The option is not set by default because it degrades slightly the overall performance.
TakTuk 3.0 does not include a way to give some login name to the connector command. Nevertheless, you can change it either by prepending a login name to the host name (it works because the default connector is ssh):
taktuk -s -m root@somehost.somewhere broadcast exec [ hostname ]or by changing the connector command itself:
taktuk -s -c 'ssh -l root' -m somehost.somewhere broadcast exec [ hostname ]This issue has been fixed by -l option since 3.0.1-beta1.