Author: glen                         Date: Thu Dec  9 23:11:58 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- add check ipmitool support

---- Files affected:
packages/nagios-plugin-check_ipmi:
   check_ipmi (1.3 -> 1.4) 

---- Diffs:

================================================================
Index: packages/nagios-plugin-check_ipmi/check_ipmi
diff -u packages/nagios-plugin-check_ipmi/check_ipmi:1.3 
packages/nagios-plugin-check_ipmi/check_ipmi:1.4
--- packages/nagios-plugin-check_ipmi/check_ipmi:1.3    Thu Dec  9 23:35:21 2010
+++ packages/nagios-plugin-check_ipmi/check_ipmi        Fri Dec 10 00:11:52 2010
@@ -34,9 +34,10 @@
 ARGS="$*"
 . $PROGPATH/utils.sh
 
-# this needs to be full path for sudo
+# ipmitool needs to be with full path for sudo
 ipmitool=/usr/bin/ipmitool
 sudo=/usr/bin/sudo
+modprobe=/sbin/modprobe
 
 die() {
        eval local rc=\$STATE_$1
@@ -49,9 +50,12 @@
        cat >&2 <<EOF
 Usage: check_ipmi <filename>
        check_ipmi -S <filename>
+       check_ipmi -c
 
      <filename> indicates the cache file for speeding up sensor readings.
 
+    -c
+       Checks if ipmitool can be used on this system
     -S
        Install sudo rules
 EOF
@@ -62,7 +66,31 @@
        echo "$*" | sed -e 's/^ *\| *$//g'
 }
 
+# checks if ipmitool is even usable on this system
+check_ipmitool() {
+       echo "Checking for IPMI..."
+       $ipmitool chassis status >/dev/null 2>&1
+       if [ $? != 0 ]; then
+               echo "Chassis status failed, modprobing"
+               $modprobe ipmi_si
+               if [ $? != 0 ]; then
+                       echo "ERROR: ipmi_si module did not load, probably IPMI 
not present"
+                       echo "You can setup options to ipmi_so via 
modprobe.conf"
+                       exit 1
+               fi
+               $modprobe ipmi_devintf
+               if [ $? != 0 ]; then
+                       echo "ERROR: ipmi_devintf module did not load"
+                       exit 1
+               fi
+               echo $?
+       fi
+       echo "Seems OK"
+}
+
 setup_sudoers() {
+       check_ipmitool
+
        new=/etc/sudoers.$$.new
        umask 0227
        cat /etc/sudoers > $new
@@ -105,6 +133,9 @@
                echo $PROGRAM $REVISION
                exit 0
                ;;
+       -c)
+               check_ipmitool=1
+               ;;
        -S)
                setup_sudo=1
                ;;
@@ -117,6 +148,11 @@
 
 if [ "$setup_sudo" = 1 ]; then
        setup_sudoers
+fi
+
+if [ "$check_ipmitool" = 1 ]; then
+       check_ipmitool
+       exit 0
 fi
 
 if [ -z "$cache_filename" ]; then
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios-plugin-check_ipmi/check_ipmi?r1=1.3&r2=1.4&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to