[Pacemaker] Resource Agent Restrictions on opening TCP Connection
Ken Gaillot
kjgaillo at gleim.com
Tue Aug 26 21:31:18 CEST 2014
On 8/26/14 6:32 AM, N, Ravikiran wrote:
> Is there any restrictions on Resource Agent script that it shall not
> support any TCP connection opens.. ??
>
> I have a script as below
>
> executecmd="$FD<>/dev/tcp/localhost/$PORT" #FD
> is the lowest available FD and PORT is hardcoded port
>
> eval "exec $executecmd" 2> /dev/null
>
> retval=$?
>
> echo $retval
> #retval is always 1
> irrespective of the TCP server running on localhost:$PORT
>
> Although I see that I can connect to TCP Server running on
> localhost:$PORT using other scripts with same statements. I cannot
> connect as a ocf-ra.
>
> So, I wanted to know is there any restrictions on my RA script.
Hello Ravikiran,
I can't speak to whether there are limitations on resource agent
scripts, but one gotcha I've seen when using eval/exec is that it will
likely use the system-wide default shell (e.g. /bin/sh) even if the RA
script itself uses a different shell (e.g. /bin/bash). But when running
from the command line under your own user account, it will use your
account's default shell. So you can get different behaviors running
interactively vs called from a daemon.
I'd recommend making sure your exec syntax works in the default system
shell, and if that's not it, try replacing your "2>/dev/null" with
"2>/tmp/ra.err" and see if it's generating any interesting output.
-- Ken Gaillot <kjgaillo at gleim.com>
Gleim NOC
More information about the Pacemaker
mailing list