#!/bin/bash
set +x

resultfile="/tmp/tmpfilebmcres"

function DO_RESET_BMC()
{
    > "${resultfile}"
    device_type=$(cat /opt/huawei/deploy/etc/deploy.ini | grep devicetype | awk -F "=" '{print $2}')
    if [ "${device_type}" -eq 4 ]; then
        echo "result=0" >  "${resultfile}"  #高密框节点默认重启成功，但是什么都不做
        exit 0
    fi

    ipmitool mc reset cold > /tmp/tmpfileresetBMC
    cmd=$(grep "Error" /tmp/tmpfileresetBMC | wc -l)
    if [ "${cmd}" -ne 0 ];then
        echo "result=1" >  "${resultfile}"
        exit 1
    fi

    sleep 2
    echo "[$(date +%x_%X)] execute:ipmitool bmc reset cold success!" >> /var/log/dep.log

    echo "[$(date +%x_%X)]please wait about 3 minutes while reset bmc ..." >> /var/log/dep.log
    sleep 150
    WAIT=0
    while [ 1 ]
    do
        ipmitool raw 0x30 0x23 >> /var/log/dep.log
        if [ $? -eq 0 ];then
            echo "result=0" >  "${resultfile}"
            exit 0
        else
            echo "[$(date +%x_%X)] execute:ipmitool raw 0x30 0x23 fail, need retry!" >> /var/log/dep.log
            WAIT=$((WAIT+1))
            if [ $WAIT -gt 25 ];then
                echo "result=1" >  "${resultfile}"
                exit 1
            fi
            sleep 1
        fi
    done
}

DO_RESET_BMC
