#!/bin/bash

#检查集群冗余配比
G_INSPECT_MMLPATH="/opt/huawei/snas/script/inspect_mml"
source ${G_INSPECT_MMLPATH}/CheckItems
CurInspectNum="355"
CurInspectFun="$( GetInspectType $CurInspectNum )"
RESULTFILE="/tmp/tmpResult${CurInspectFun}"
>${RESULTFILE}

LOG_FILE="/var/log/inspect.log"
#视频监控场景
surveillance_service_type="surveillance"

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

function GetRatiotype()
{
    case $1 in
    0)
        echo "+1"
        ;;
    1)
        echo "+2"
        ;;
    2)
        echo "+3"
        ;;
    3)
        echo "+4"
        ;;
    4)
        echo "+2:1"
        ;; 
    5)
        echo "+3:1"
        ;;    
    *)
        echo "unknown"
        ;;
    esac
}

function CheckRedunRatio()
{
    local isPass="0"
    local result_file="/var/log/nluninfo.log"
    local service_type=$( grep "^serviceType" /opt/huawei/snas/etc/snas.ini | awk -F"=" '{print $2}' | tr -d " " )
    
    /usr/local/bin/MmlBatch 988 "monc nluninfo 0" >/dev/null 2>&1
    ratio_num=$( cat "${result_file}" | grep "^Default data protection configuration" |awk '{print $NF}' )    
    ratio_type=$( GetRatiotype "${ratio_num}" )
    #此处有一个问题, +2:1 这种格式xml解析的时候会以:分割,会出错的吧
    echo "RadundancyRatio:${ratio_type}" >>${RESULTFILE} 2>&1
    if [ "X${ratio_num}" == "X0" ];then
        isPass=1
    elif [ "X${ratio_num}" == "X1" ];then
        isPass=0
        
    elif [ "X${ratio_num}" == "X4" ];then
        if [ "X${service_type}" == "X${surveillance_service_type}" ];then
            isPass=0
        else
            isPass=4
        fi
    else
        isPass=4
    fi
    echo "${CurInspectFun}_Pass ${isPass}" >>${RESULTFILE} 2>&1
    LOG "[$FUNCNAME]${CurInspectFun}_Pass ${isPass}"
    return 
}

CheckRedunRatio


