[hobbit] problem with CLASS definition (PATCH)

Josh Luthman josh at imaginenetworksllc.com
Wed Oct 31 20:00:56 CET 2007


*Psst*

http://sourceforge.net/tracker/?group_id=128058&atid=710488

On 10/31/07, Charles Jones <jonescr at cisco.com> wrote:
>
> I don't want this to fall through the cracks, so I'm going to keep
> bumping it until Henrik sees it :)
>
> -Charles
>
> Charles Jones wrote:
> > 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
>
>
>


-- 
Josh Luthman
Office: 937-552-2340
Direct: 937-552-2343
1100 Wayne St
Suite 1337
Troy, OH 45373

Those who don't understand UNIX are condemned to reinvent it, poorly.
--- Henry Spencer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20071031/dcc8430f/attachment.html>


More information about the Xymon mailing list