1 #!/bin/bash 2 3 function runtest() { 4 5 $IPMITOOL $* 6 RETURN=$? 7 if [ $RETURN -ne 0 ]; then 8 echo "Test ipmitool $* failed with code $RETURN." 9 status=$(($status+1)) 10 fi 11 } 12 13 CHECK=`dmidecode | egrep '(Baseboard Management Controller|IPMI)'` 14 if [ -z "$CHECK" ]; then 15 echo "BMC is not detected. Aborting." 16 exit 255 17 fi 18 19 IPMITOOL=`ls $POUNDER_OPTDIR/ipmitool*/src/ipmitool 2> /dev/null` 20 if [ -z "$IPMITOOL" ]; then 21 IPMITOOL=`which ipmitool 2> /dev/null` 22 if [ -z "$IPMITOOL" ]; then 23 echo "Cannot find ipmitool; ipmitool utility not installed on system." 24 echo "Please install package containing ipmitool utility and re-run test." 25 exit -1 26 fi 27 else 28 IPMITOOL="$POUNDER_OPTDIR/ipmitool*/src/ipmitool" 29 fi 30 31 status=0 32 /etc/init.d/ipmi restart #maybe start 33 RETURN=$? 34 if [ $RETURN -ne 0 ]; then 35 echo "Could not start driver with code $RETURN." 36 status=$(($status+1)) 37 exit $status 38 fi 39 40 echo 41 echo "ipmitool utility version: " 42 runtest -V 43 echo 44 echo "OpenIPMI Driver version: " 45 dmesg |grep ipmi |grep -i -m 1 version 46 echo 47 48 runtest bmc info 49 if [ $status -eq 0 ]; then 50 BMC2=`$IPMITOOL bmc info | grep "IPMI Version" | cut -b 29` 51 #possibly log this stuff here 52 if [ $BMC2 -ge 2 ]; then 53 runtest firewall info lun 0 netfn 0 54 runtest firewall info lun 0 netfn 1 55 runtest firewall info lun 0 netfn 4 56 runtest firewall info lun 0 netfn 0 command 0 57 runtest firewall info lun 0 netfn 0 command 1 58 runtest firewall info lun 0 netfn 0 command 2 59 runtest firewall info lun 0 netfn 1 command 0 60 runtest firewall info lun 0 netfn 1 command 1 61 runtest firewall info lun 0 netfn 1 command 2 62 runtest firewall info lun 0 netfn 4 command 0 63 runtest firewall info lun 0 netfn 4 command 1 64 runtest firewall info lun 0 netfn 4 command 2 65 runtest firewall disable lun 0 netfn 0 command 2 66 runtest firewall enable lun 0 netfn 0 command 2 67 runtest firewall info lun 0 netfn 0 command 2 68 runtest channel getciphers ipmi 1 69 runtest channel getciphers sol 1 70 71 else 72 echo "BMC is not 2.0 compatible; skipping firewall tests." 73 fi 74 fi 75 runtest lan print 76 runtest bmc getenables 77 runtest channel info 0 78 runtest channel info 1 79 runtest channel info 2 80 runtest channel info 14 81 runtest channel info 15 82 runtest channel authcap 1 1 83 runtest channel authcap 1 2 84 runtest channel authcap 1 3 85 runtest channel authcap 1 4 86 runtest channel getaccess 0x1 87 runtest channel getaccess 0x2 88 runtest chassis status 89 runtest chassis identify 90 runtest chassis restart_cause 91 runtest chassis power status 92 runtest pef info 93 runtest pef status 94 runtest pef list 95 runtest sdr info 96 runtest sdr list all 97 runtest sdr list full 98 runtest sdr list compact 99 runtest sdr list event 100 runtest sdr list mcloc 101 runtest sdr list fru 102 runtest sdr list generic 103 runtest sdr type list 104 runtest sdr entity 105 runtest sel 106 runtest sel info 107 runtest sel list 108 runtest sel elist 109 runtest sel list 5 110 runtest sel time get 111 runtest sel writeraw testing 112 runtest sel readraw testing 113 runtest sensor list 114 runtest session info all 115 runtest session info active 116 runtest user summary 0x1 117 runtest user summary 0x2 118 runtest user list 0x1 119 runtest user list 0x2 120 121 if [ $status -eq 255 ]; then 122 status=254 123 fi 124 125 126 127 exit $status 128