On Fri, Apr 11, 2008 at 08:56:02AM -0500, Chris Wopat wrote:
Is there a cleaner way built in that will just say "if service FOO is red
then on client run script ext/BAR.sh"?
There is. You use the Hobbit "query" command to probe the status, and
then act accordingly. To use your example with the "cpu" status going
red:
#!/bin/sh
CPUCOLOR=`$BB $BBDISP "query $MACHINE.cpu" | awk '{print $1}'`
if test "$CPUCOLOR" = "red"
then
# Kill some cpu hogging processes
.... whatever it takes ....
fi
exit 0
The "query" command returns the first line of the current status, and
the first word is the current color. You probably will want to put in
some sort of sanity check so you don't trigger this too often. Or
perhaps just log the fact that it triggered.