#!/bin/bash
set +x

LOG_FILE="/var/log/inspect.log"
RH_COMMOND="/opt/driver/lsisas-mpt3sas-driver/sas3flash -list"
. /opt/node_type_recognize.sh
. /opt/install_os_common_func.sh
G_MML_FILE_PATH="/opt/huawei/snas/script/inspect_mml"
source $G_MML_FILE_PATH/CheckItems
CurInspectNum="147"
CurInspectFun="$(GetInspectType $CurInspectNum)"
MML_FILE="/tmp/tmpfilemmlSASversion"
RESULTFILE="/tmp/tmpResult${CurInspectFun}"
>${RESULTFILE}

function LOG()
{
    time=$(date)
    echo [${time}][$$][$CurInspectFun]$@ >> $LOG_FILE
}

function GetController()
{
    local descrip=$*
    #不检查 T3000(2008,2308)  C72(PM8070),SAS3416 SAS3408
    SASTypeArray=("SAS3008")
    for item in ${SASTypeArray[*]}; do
        echo "$descrip" | grep $item > /dev/null 2>&1
        if [ $? -eq 0 ];then
            echo "$item"
            return 0
        fi
    done
    echo "NULL"
    return 1
}

function RHSASversion()
{
    EXE_COMMOND=$RH_COMMOND
    $EXE_COMMOND > $MML_FILE
    LOG "[$LINENO] get RH SAS version"
    tmpline=$(cat $MML_FILE | grep Controller | grep SAS)
    Controller=$(GetController "${tmpline}")

    if [ "$Controller" = "NULL" ];then
        LOG "[$LINENO] get RH SAS Controller Fail!"
    fi

    nvdata=$(cat $MML_FILE | grep "NVDATA Version" | grep Default| awk -F':' '{print $2}' | sed 's/^[ \t]*//g' | sed 's/[ \t]*$//g')
    Firmware=$(cat $MML_FILE | grep "Firmware Version" | awk -F':' '{print $2}' | sed 's/^[ \t]*//g' | sed 's/[ \t]*$//g')
    biosVersion=$(cat $MML_FILE | grep "BIOS Version" | awk -F':' '{print $2}' | sed 's/^[ \t]*//g' | sed 's/[ \t]*$//g')
    uefi_bsd=$(cat $MML_FILE | grep "UEFI BSD Version" | awk -F':' '{print $2}' | sed 's/^[ \t]*//g' | sed 's/[ \t]*$//g')

    echo "Controller=$Controller" >>${RESULTFILE} 2>&1
    echo "NVDATA=$nvdata" >>${RESULTFILE} 2>&1
    echo "Firmware=$Firmware" >>${RESULTFILE} 2>&1
    echo "BIOS_Version=$biosVersion" >>${RESULTFILE} 2>&1
    echo "UEFI_BSD=$uefi_bsd" >>${RESULTFILE} 2>&1
    LOG "[$LINENO]Controller=$Controller,NVDATA=$nvdata,Firmware=$Firmware,BIOS_Version=$biosVersion,UEFI_BSD=$uefi_bsd"
}

function GetSASversion()
{
    local isRH=0
    IsRHNode
    isRH=$?
    if [ ${isRH} -eq 0 ];then
        IsRHV3Node
        local isRHV3=$?
        if [ ${isRHV3} -eq 0 ];then
            echo "RH=V3" >>${RESULTFILE} 2>&1
        else
            echo "RH=V5" >>${RESULTFILE} 2>&1
        fi

        RHSASversion
    else
        echo "Does not involve" >>${RESULTFILE} 2>&1
    fi
}

GetSASversion

if [ -f $MML_FILE ];then
    rm -rf $MML_FILE
    LOG "[$LINENO] delete file($MML_FILE)"
fi

exit 0
