[hobbit] Feature request: OS support for GNU/kFreeBSD

Henrik Stoerner henrik at hswn.dk
Mon Jan 28 12:29:02 CET 2008


On Fri, Jan 25, 2008 at 11:23:45PM +0100, Axel Beckert wrote:
> I tried to get hobbit compiling and running on Debian
> GNU/kFreeBSD[1]. Getting it to compile was quite easy, getting it run,
> too, but getting it work isn't[2].
> 
>   [1] http://www.debian.org/ports/kfreebsd-gnu/
>   [2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=458417
> 
> Getting the client run needed some more files to exist. Now I've got
> an ugly but running client sending data to my hobbit
> server. Unfortunately the server drops it with the message
> 
> 2008-01-25 22:41:09 No client backend for OS 'gnu/kfreebsd' sent by [...]

As I would expect it to do. The Hobbit server needs to know how the data
sent by the GNU/kFreeBSD client is formatted, in order for it to extract
the information it uses to check the client state against the
configuration thresholds.

> Adding a new OS in general isn't difficult with hobbit on the client
> side, you just copy some shell script, perhaps edit it and it
> works. With GNU/kFreeBSD it looks a little bit different:
> 
>   14/0/0 root at c-metisse:pts/ttyp3 22:49:51 [~] # uname -o
>   GNU/kFreeBSD

Hobbit actually uses "uname -s". On my Linux system this gives "Linux",
whereas "uname -o" returns "GNU/Linux".

> The solution suggested by the GNU/kFreeBSD developers for this problem
> is to replace all slashes in the output of "uname -o" with
> underscores

This is easily fixed by changing the "tr" command in client/runclient.sh,
client/hobbitclient.sh and the various build/*.sh scripts to do this
conversion.


> Hernik: How do you think that problem is solved best from your view as
> hobbit developer?

The uname output isn't used that much in Hobbit. In most of the code 
it is immediately transformed into an enumerated value - OS_LINUX,
OS_FREEBSD etc. - and that is what Hobbit uses throughout all of the
server-side code. This transformation happens in the lib/misc.c code.
The few places - shell scripts - that uses uname output directly can
be modified as per your developer recommendation.

I'll send You a patch does this, and also creates a basic client inter-
preter which assumes that the data looks like the Linux data. You need
to modify the hobbitd/client/gnukfreebsd.c file to make it work with the 
data you get from your client. There are also some - probably slight - 
modifications needed for the hobbitd/rrd/do_{if,net,vm}stat.rrd files 
to recognize data from OS_GNUKFREEBSD labeled hosts, and of course the
client-side script is missing.

The patch is on top of the current snapshot. Please send me whatever
modifications you do to make Hobbit work on this platform.


Regards,
Henrik

PS: I know RMS is keen on the "GNU/whatever" thing, but personally I've
always found the use of filesystem special characters in such names to 
be a major design blunder. But now it's here, so we have to live with
it.




More information about the Xymon mailing list