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