Attn Henrik: [hobbit] problem with CLASS definition (PATCH)]

Charles Jones jonescr at cisco.com
Wed Dec 5 23:27:17 CET 2007


Thus far I have gotten no acknowledgment that you are aware of this bug. 
I have a vested interest in seeing this patch be part of 4.3, as I have 
production servers utilizing this feature to handle automatic fail-overs.

Happy Holidays!
-Charles

-------- Original Message --------
Subject: 	Re: [hobbit] problem with CLASS definition (PATCH)
Date: 	Tue, 16 Oct 2007 16:14:01 -0700
From: 	Charles Jones <jonescr at cisco.com>
Reply-To: 	hobbit at hswn.dk
To: 	hobbit at hswn.dk
References: 	<4706C711.4030201 at cisco.com> <470D1348.3090405 at cisco.com> 
<470D1781.5070606 at cisco.com> <470D1E8C.7050403 at cisco.com> 
<470D2138.2000705 at cisco.com>



Henrik,

Just making sure that you saw this bug that I found, and hopefully 
implement a fix (I'm sure you have a more elegant way to fix it than I 
did) for Hobbit 4.3 

-Charles

Charles Jones wrote:
> Okay I came up with a workaround. The problem is that CONFIGCLASS gets 
> reset to a default value (in hobbitclient.cfg). So, I created another 
> variable, "CLASS". I then made a small mod to hobbitclient.sh that 
> checks to see if CLASS got set to something, and if it did, it sets 
> CONFIGCLASS to that value.  Here are the changes:
>
> --- runclient.sh        2006-08-09 20:09:58.000000000 +0000
> +++ /tmp/runclient.sh   2007-10-10 18:55:00.000000000 +0000
> @@ -32,6 +32,7 @@
>                ;;
>          --class=*)
>                CONFIGCLASS="`echo $1 | sed -e 's/--class=//' | tr 
> '[A-Z]' '[a-z]'`"
> +                CLASS=$CONFIGCLASS # Use a variable that doesn't get 
> reset
>                ;;
>          --help)
>                echo "Usage: $0 [--hostname=CLIENTNAME] 
> [--os=rhel3|linux22] [--class=CLASSNAME] start|stop
> "
> @@ -61,7 +62,7 @@
>
> MACHINE="`echo $MACHINEDOTS | sed -e 's/\./,/g'`"
>
> -export MACHINE MACHINEDOTS BBOSTYPE BBOSSCRIPT HOBBITCLIENTHOME 
> CONFIGCLASS
> +export MACHINE MACHINEDOTS BBOSTYPE BBOSSCRIPT HOBBITCLIENTHOME 
> CONFIGCLASS CLASS
>
> case "$CMD" in
>   "start")
> @@ -128,6 +129,5 @@
>        break;
>
> esac
> -
> exit 0
>
> -----
>
> --- hobbitclient.sh     2006-08-09 20:09:58.000000000 +0000
> +++ /tmp/hobbitclient.sh        2007-10-10 18:55:28.000000000 +0000
> @@ -48,6 +48,9 @@
>        echo "@@client#1|0|127.0.0.1|$MACHINEDOTS|$BBOSTYPE" >> 
> $MSGTMPFILE
> fi
>
> +if [ -n "$CLASS" ]; then #If CLASS was set to something, override the 
> default
> +   CONFIGCLASS=$CLASS
> +fi
> echo "client $MACHINE.$BBOSTYPE $CONFIGCLASS"  >>  $MSGTMPFILE
> $BBHOME/bin/$BBOSSCRIPT >> $MSGTMPFILE
> # logfiles
>
>
>
> Charles Jones wrote:
>> I also just discovered that CONFIGCLASS gets converted to lowercase 
>> (which I should have seen plain as day in the sed command). However 
>> this is not the problem as the CONFIGCLASS in the client message is 
>> still using the default value of BBOSTYPE.  I'm currently attempting 
>> to hack in a work around.
>>
>> -Charles
>>
>> Charles Jones wrote:
>>> I did some poking around, and as far as I can tell, the problem is 
>>> due to hobbitclient.cfg overriding the CONFIGCLASS variable.
>>> Here are some snippets from runclient.sh:
>>>
>>> --class=*)
>>>                CONFIGCLASS="`echo $1 | sed -e 's/--class=//' | tr 
>>> '[A-Z]' '[a-z]'`"
>>>
>>> export MACHINE MACHINEDOTS BBOSTYPE BBOSSCRIPT HOBBITCLIENTHOME 
>>> CONFIGCLASS
>>>
>>> hobbitclient.cfg contains this:
>>> ./hobbitclient.cfg:CONFIGCLASS="$BBOSTYPE"         # Default 
>>> configuration class for logfiles
>>>
>>> hobbitclient.sh uses the CONFIGCLASS variable when sending the 
>>> client message:
>>> ./bin/hobbitclient.sh:echo "client $MACHINE.$BBOSTYPE $CONFIGCLASS"  
>>> >>  $MSGTMPFILE
>>>
>>> Heres the actual client message header Im sending (not that 
>>> CONFIGCLASS  is being set to "linux" instead of the specified class:
>>> client host-app-23.linux linux
>>>
>>> -Charles
>>>
>>>
>>> Charles Jones wrote:
>>>> Anyone have any thoughts on this? I'm currently dead in the water 
>>>> without this working as it should.  I tried emailing Henrik as well 
>>>> but I'm sure he is too busy to reply.
>>>>
>>>> -Charles
>>>>
>>>> Charles Jones wrote:
>>>>> I have a host whose client was started via: "./runclient.sh 
>>>>> --class=APP_PRIMARY start"
>>>>>
>>>>> In the hobbit servers hobbit-clients.cfg, I have something similar 
>>>>> to:
>>>>>
>>>>> CLASS=APP_PRIMARY
>>>>>    PROC "someproc"
>>>>>    PROC "/some/other/proc"
>>>>> ....
>>>>> DEFAULT
>>>>>    PROC sshd
>>>>>
>>>>> The problem is that only the default proc "sshd" is being checked 
>>>>> on the host.  The expected behavior is that the CLASS would be 
>>>>> used and other other procs checked instead. I know this has 
>>>>> nothing to do with the DEFAULT setting, as using HOST=hostname 
>>>>> works fine. I just cant get it to check the procs by CLASS.  Is 
>>>>> there any way to debug this?  Shouldn't the CLASS show up in the 
>>>>> "info" section?  Do I need to put the class name in quotes on the 
>>>>> command line?
>>>>
>>>> To unsubscribe from the hobbit list, send an e-mail to
>>>> hobbit-unsubscribe at hswn.dk
>>>
>>> To unsubscribe from the hobbit list, send an e-mail to
>>> hobbit-unsubscribe at hswn.dk
>>
>> To unsubscribe from the hobbit list, send an e-mail to
>> hobbit-unsubscribe at hswn.dk
>
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe at hswn.dk

To unsubscribe from the hobbit list, send an e-mail to
hobbit-unsubscribe at hswn.dk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20071205/67cc4a01/attachment.html>


More information about the Xymon mailing list