[hobbit] problem with CLASS definition (PATCH)

Charles Jones jonescr at cisco.com
Wed Oct 10 21:00:08 CEST 2007


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



More information about the Xymon mailing list