| #!/bin/bash |
| |
| function runtest() { |
| |
| $IPMITOOL $* |
| RETURN=$? |
| if [ $RETURN -ne 0 ]; then |
| echo "Test ipmitool $* failed with code $RETURN." |
| status=$(($status+1)) |
| fi |
| } |
| |
| CHECK=`dmidecode | egrep '(Baseboard Management Controller|IPMI)'` |
| if [ -z "$CHECK" ]; then |
| echo "BMC is not detected. Aborting." |
| exit 255 |
| fi |
| |
| IPMITOOL=`ls $POUNDER_OPTDIR/ipmitool*/src/ipmitool 2> /dev/null` |
| if [ -z "$IPMITOOL" ]; then |
| IPMITOOL=`which ipmitool 2> /dev/null` |
| if [ -z "$IPMITOOL" ]; then |
| echo "Cannot find ipmitool; ipmitool utility not installed on system." |
| echo "Please install package containing ipmitool utility and re-run test." |
| exit -1 |
| fi |
| else |
| IPMITOOL="$POUNDER_OPTDIR/ipmitool*/src/ipmitool" |
| fi |
| |
| status=0 |
| /etc/init.d/ipmi restart #maybe start |
| RETURN=$? |
| if [ $RETURN -ne 0 ]; then |
| echo "Could not start driver with code $RETURN." |
| status=$(($status+1)) |
| exit $status |
| fi |
| |
| echo |
| echo "ipmitool utility version: " |
| runtest -V |
| echo |
| echo "OpenIPMI Driver version: " |
| dmesg |grep ipmi |grep -i -m 1 version |
| echo |
| |
| runtest bmc info |
| if [ $status -eq 0 ]; then |
| BMC2=`$IPMITOOL bmc info | grep "IPMI Version" | cut -b 29` |
| #possibly log this stuff here |
| if [ $BMC2 -ge 2 ]; then |
| runtest firewall info lun 0 netfn 0 |
| runtest firewall info lun 0 netfn 1 |
| runtest firewall info lun 0 netfn 4 |
| runtest firewall info lun 0 netfn 0 command 0 |
| runtest firewall info lun 0 netfn 0 command 1 |
| runtest firewall info lun 0 netfn 0 command 2 |
| runtest firewall info lun 0 netfn 1 command 0 |
| runtest firewall info lun 0 netfn 1 command 1 |
| runtest firewall info lun 0 netfn 1 command 2 |
| runtest firewall info lun 0 netfn 4 command 0 |
| runtest firewall info lun 0 netfn 4 command 1 |
| runtest firewall info lun 0 netfn 4 command 2 |
| runtest firewall disable lun 0 netfn 0 command 2 |
| runtest firewall enable lun 0 netfn 0 command 2 |
| runtest firewall info lun 0 netfn 0 command 2 |
| runtest channel getciphers ipmi 1 |
| runtest channel getciphers sol 1 |
| |
| else |
| echo "BMC is not 2.0 compatible; skipping firewall tests." |
| fi |
| fi |
| runtest lan print |
| runtest bmc getenables |
| runtest channel info 0 |
| runtest channel info 1 |
| runtest channel info 2 |
| runtest channel info 14 |
| runtest channel info 15 |
| runtest channel authcap 1 1 |
| runtest channel authcap 1 2 |
| runtest channel authcap 1 3 |
| runtest channel authcap 1 4 |
| runtest channel getaccess 0x1 |
| runtest channel getaccess 0x2 |
| runtest chassis status |
| runtest chassis identify |
| runtest chassis restart_cause |
| runtest chassis power status |
| runtest pef info |
| runtest pef status |
| runtest pef list |
| runtest sdr info |
| runtest sdr list all |
| runtest sdr list full |
| runtest sdr list compact |
| runtest sdr list event |
| runtest sdr list mcloc |
| runtest sdr list fru |
| runtest sdr list generic |
| runtest sdr type list |
| runtest sdr entity |
| runtest sel |
| runtest sel info |
| runtest sel list |
| runtest sel elist |
| runtest sel list 5 |
| runtest sel time get |
| runtest sel writeraw testing |
| runtest sel readraw testing |
| runtest sensor list |
| runtest session info all |
| runtest session info active |
| runtest user summary 0x1 |
| runtest user summary 0x2 |
| runtest user list 0x1 |
| runtest user list 0x2 |
| |
| if [ $status -eq 255 ]; then |
| status=254 |
| fi |
| |
| |
| |
| exit $status |