#!/bin/bash

LOGFILE="/var/log/inspect.log"
RH_COMMOND="/opt/driver/lsisas-mpt3sas-driver/sas3flash -list"
T3000_COMMOND="/opt/driver/lsisas-driver/sas2flash -list"
C72_COMMOND="/OSM/script/mml"
C72COMINPUT="/tmp/tmpfileC72SASInput"
MML_FILE="/tmp/tmpfilemmlSASversion"
source /opt/huawei/snas/script/inspect_mml/inspect_comm.sh

function log_file()
{
    echo [`date "+%Y-%m-%d %H:%M:%S"`][$$]$@ >> $LOGFILE
}

function GetController()
{
    local descrip=$*
    SASTypeArray=("SAS2008" "SAS2308" "SAS3008" "PM8070")
    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_file "[$FUNCNAME][$LINENO] get RH SAS version"
    tmpline=$(cat $MML_FILE | grep Controller | grep SAS)
    Controller=$(GetController "${tmpline}")
    
    if [ "$Controller" = "NULL" ];then
        log_file "[$FUNCNAME][$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"
    echo "NVDATA=$nvdata"
    echo "Firmware=$Firmware"
    echo "BIOS_Version=$biosVersion"
    echo "UEFI_BSD=$uefi_bsd"
    log_file "[$FUNCNAME][$LINENO]Controller=$Controller,NVDATA=$nvdata,Firmware=$Firmware,BIOS_Version=$biosVersion,UEFI_BSD=$uefi_bsd"
}

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

        RHSASversion
    else
        echo "Does not involve"
    fi
}

GetSASversion

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

if [ -f $C72COMINPUT ];then 
    rm -rf $C72COMINPUT
    log_file "[$LINENO] delete file($C72COMINPUT)"
fi
exit 0
