<br><br><div class="gmail_quote">On Sun, Oct 2, 2011 at 12:31 AM, Gerald Vogt <span dir="ltr"><<a href="mailto:vogt@spamcop.net">vogt@spamcop.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On 02.10.11 03:18, Serge Dubrouski wrote:<br>
>     1. You expect rndc and host to be in $PATH. At the same time the path to<br>
>     named can be configured. I think consequently, the same should apply to<br>
>     rndc and host as they are bind utils.<br>
><br>
>     On our CentOS servers we run the latest version of bind, compiled from<br>
>     source and installed in a custom path which is added in /etc/profile.<br>
>     For some reason /etc/profile doesn't seem to apply to the ocf scripts<br>
>     thus the script doesn't find rndc or host unless I extend PATH manually<br>
>     at the beginning of the script.<br>
><br>
><br>
> We had some discussion around this and finally decided  to leave it up<br>
> to sysadmin ti make sure that both tools are available in PATH. One<br>
> can always create a couple of symlink to cover it.<br>
<br>
</div>But isn't it inconsequent that you can set the named path as a parameter<br>
but not rndc or host. named, rndc, and host all come out of a bind<br>
installation and they all run on the same host...<br>
<div class="im"><br>
>     2. In the stop function you call "rndc stop" to stop the daemon.<br>
>     However, if the daemon hangs, rndc will hang. Thus pacemaker runs into a<br>
>     timeout and kills the ocf script, leading to a failed stop.<br>
><br>
><br>
> You didn't read the code carefully again. Yes it does exactly what you<br>
> want or at least it's supposed to:<br>
><br>
>     if ! $RNDC stop >/dev/null; then<br>
<br>
</div>The problem is your script never gets beyond this line. rndc tries to<br>
contact named which is hanging. I don't know what time out rndc has<br>
exactly but at least on our CentOS installation it doesn't time out<br>
within 60s.<br>
<br>
60s is currently the timeout we have set in the "primitive" declaration.<br>
Thus after 60s pacemaker assumes your script is hanging and kills your<br>
script with TERM.<br>
<br>
As I wrote before: you should be able to test this easily by sending a<br>
STOP signal to the named process. At least in this situation I see that<br>
the "rndc stop" doesn't return before those 60s.<br></blockquote><div><br>Indeed you are right. Thanks for catching. Attached is the patch that fixes this issue. It also makes rndc and host commands configurable.<br>
<br>Please take a look at the patch and if it's all right I'll ask pacemaker team to push it into git.<br><br>Thanks again.  <br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im"><br>
>         kill `cat ${OCF_RESKEY_named_pidfile}`<br>
>     fi<br>
><br>
>     if [ -n "$OCF_RESKEY_CRM_meta_timeout" ]; then<br>
>       # Allow 2/3 of the action timeout for the orderly shutdown<br>
>       # (The origin unit is ms, hence the conversion)<br>
>       timeout=$((OCF_RESKEY_CRM_meta_timeout/1500))<br>
>     else<br>
>       timeout=20<br>
>     fi<br>
><br>
>     while named_status ; do<br>
>         if [ $timeout -ge ${OCF_RESKEY_named_stop_timeout} ]; then<br>
>             break<br>
>         else<br>
>             sleep 1<br>
>             timeout=$((timeout++))<br>
>         fi<br>
>     done<br>
><br>
</div>>     *#If still up*<br>
> *    if named_status 2>&1; then*<br>
> *        ocf_log err "named is still up! Killing";*<br>
> *        kill -9 `cat ${OCF_RESKEY_named_pidfile}`*<br>
> *    fi*<br>
<div class="im">><br>
><br>
>     I think the ocf script should have its own timeout and abort the rndc<br>
>     call if it takes too long and then try to kill the server.<br>
><br>
><br>
> See above.<br>
><br>
><br>
><br>
>     To test send a STOP signal to named and wait...<br>
<br>
</div><div><div></div><div class="h5">Gerald<br>
<br>
_______________________________________________<br>
Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
<a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
<br>
Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
Bugs: <a href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker" target="_blank">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Serge Dubrouski.<br>