On Thu, Aug 18, 2011 at 12:28:44PM +0200, Albéric de Pertat wrote: > Hi, > > While playing with the conntrackd agent on Debian Squeeze, I found out the > method used in the monitor action is not accurate and can sometimes yield > false results, believing conntrackd is running when it is not.
As in when? Could that be resolved? > I am instead checking the existence of the control socket and it has > so far proved more stable. If you "kill -9" conntrackd (or contrackd should crash for some reason), it will leave behind that socket. So testing on the existence of that socket is in no way more reliable than looking through the process table. Maybe there is some "ping" method in the conntrack-tools? Or something that could be used as such? If not, maybe try a connect to that socket, using netcat/socat? Just checking if the socket exists will not detect conntrackd crashes. > --- conntrackd 2011-08-18 12:12:36.807562142 +0200 > +++ /usr/lib/ocf/resource.d/heartbeat/conntrackd 2011-08-18 > 12:25:20.000000000 +0200 > @@ -111,8 +111,10 @@ > > conntrackd_monitor() { > rc=$OCF_NOT_RUNNING > - # It does not write a PID file, so check with pgrep > - pgrep -f $OCF_RESKEY_binary && rc=$OCF_SUCCESS > + # It does not write a PID file, so check the socket exists after > + # extracting its path from the configuration file > + local conntrack_socket=$(awk '/^ *UNIX *{/,/^ *}/ { if ($0 ~ /^ > *Path /) { print $2 } }' $OCF_RESKEY_config) > + [ -S $conntrack_socket ] && rc=$OCF_SUCCESS > if [ "$rc" -eq "$OCF_SUCCESS" ]; then > # conntrackd is running > # now see if it acceppts queries > _______________________________________________________ > Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > Home Page: http://linux-ha.org/ -- : Lars Ellenberg : LINBIT | Your Way to High Availability : DRBD/HA support and consulting http://www.linbit.com DRBD® and LINBIT® are registered trademarks of LINBIT, Austria. _______________________________________________________ Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/