#!/bin/bash

if [ -z $SPOOLDIR ]; then
    SPOOLDIR=/var/spool/statusd
fi

STF=$SPOOLDIR/raid-compaq.status

STATUS="OK"

function raidtest()
{
    # RAID status (logical drive)
    if (hpacucli ctrl slot=0 ld all show status |grep logicaldrive |grep -e ".*Fail.*" >/dev/null); then
	STATUS="FAILED: logical"
    fi

    # RAID status (physical drives)
    if (hpacucli ctrl slot=0 pd all show status |grep physicaldrive |grep -e ".*Fail.*" >/dev/null); then
        STATUS="FAILED: physical"
    fi

    echo "$STATUS"
}


if [ "$1" != "cron" -a -f $STF ]; then
    RTR=`cat $STF`
else
    RTR=`raidtest`
    echo -n "$RTR" >$STF
fi
if [ "x$RTR" != "x" ]; then
	echo "$RTR"
	if [ "$RTR" != "OK" ]; then
		exit 2
	else
		exit 0
	fi
else
	echo "OK"
	exit 0
fi
