#!/bin/bash
set +x

G_INSPECT_MMLPATH="/opt/huawei/snas/script/inspect_mml"
source ${G_INSPECT_MMLPATH}/CheckItems
CurInspectNum="350"
CurInspectFun="$( GetInspectType $CurInspectNum )"
RESULTFILE="/tmp/tmpResult${CurInspectFun}"
>${RESULTFILE}

expect_version=$(grep "^ProductVersion" /opt/huawei/snas/script/inspect_mml/quality_inspect.ini |awk -F"=" '{print $2}')

function StorageVersionCheck()
{
    local product_version=$( grep "^ProductVersion" /opt/huawei/deploy/package/version |awk -F"=" '{print $2}' |tr -d " " )
    local svn_file="/opt/huawei/deploy/package/svn.txt"
    local euler_config="/etc/EulerLinux.conf"
    local product_svn="--"
    local euler_version="--"
    local streamType="--"
    local VM_NUM="--"
    local VM_MEM="--"
    local isPass=0
    if [ -f "${svn_file}" ]; then
        product_svn=$(tail -n 1 "${svn_file}")
    fi
    if [ -f "${euler_config}" ]; then
        euler_version=$(cat "${euler_config}" | grep -Po '(?<=eulerversion=EulerOS_).*')
    fi
    if [ "X${product_version}" == "X${expect_version}" ];then
        streamType=$( grep "streamStoreMode" /opt/huawei/snas/etc/snas.ini |awk -F"=" '{print $2}' )
        VM_NUM=$( grep "VM_NUM" /opt/huawei/snas/etc/snas.ini |awk -F"=" '{print $2}')
        VM_MEM=$( grep "VM_MEM" /opt/huawei/snas/etc/snas.ini |awk -F"=" '{print $2}')
        echo "ProductVersion:${product_version}||ProductChildVersion:${product_svn}||eulerVersion:${euler_version}||streamType:${streamType}||VM_NUM:${VM_NUM}||VM_MEM:${VM_MEM}" >>${RESULTFILE} 2>&1
    else
        isPass=1
        echo "ProductVersion:${product_version}||ProductChildVersion:${product_svn}||eulerVersion:${euler_version}||streamType:${streamType}||VM_NUM:${VM_NUM}||VM_MEM:${VM_MEM}" >>${RESULTFILE} 2>&1
        echo "[ERR]INFO:ProductVersion(${product_version}) is not expect version." >>${RESULTFILE} 2>&1
    fi

    return ${isPass}
}

function main
{
    local iRet=0
    StorageVersionCheck
    iRet=$?
    echo "${CurInspectFun}_Pass ${iRet}" >>${RESULTFILE} 2>&1
    LOG "[$FUNCNAME]${CurInspectFun}_Pass ${iRet}"
    return
}

main


