We want to use gexec to be able to execute a command from any cluster node
and have it run on all of the cluster nodes.

When we do this on node 1 everything works as expected:

On host unfiwcl1 --

unfiwcl1:/# echo $GEXEC_SVRS
unfiwcl1 unfiwcl2 unfiwcl3 unfiwcl4
unfiwcl1:/# gexec -n 0 hostname
1 unfiwcl2
0 unfiwcl1
2 unfiwcl3
3 unfiwcl4

However, when I run the same command on node 3 it doesn't work the same way:

On host unfiwcl3 --

unfiwcl3:/# echo $GEXEC_SVRS
unfiwcl1 unfiwcl2 unfiwcl3 unfiwcl4
unfiwcl3:/# gexec -n 0 hostname
1 unfiwcl2
0 unfiwcl1       <-- Gexec node 0 is cluster node "1"
3 unfiwcl4
2 unfiwcl1       <-- Gexec node 2 _should_ be "3" (the localhost)


Here's an example after re-ordering the environment variable (placing
localhost first) showing that it works as expected:

On host unfiwcl3 --

unfiwcl3:/# export GEXEC_SVRS="unfiwcl3 unfiwcl4 unfiwcl1 unfiwcl2"
unfiwcl3:/# echo $GEXEC_SVRS
unfiwcl3 unfiwcl4 unfiwcl1 unfiwcl2
unfiwcl3:/# gexec -n 0 hostname
1 unfiwcl4
0 unfiwcl3
2 unfiwcl1
3 unfiwcl2

Must the localhost always be defined first?

--Karl


Reply via email to