#!/bin/bash

source /opt/huawei/snas/script/inspect_mml/CheckItems
function checkClusterID()
{
    local cm_confdb="/opt/huawei/snas/etc/cm_conf.db"
    local DEPLOY_XML="/opt/huawei/deploy/etc/deployconfig.xml"
    local cmdToolC00="/opt/huawei/snas/script/inspect_mml/aesTool"
    #只有配置兼容性修复C00工具修复语句有误，现网已操作过的在这里规避处理
    if [ -f ${cmdToolC00} ];then
        local Info=$(sqlite3 ${cm_confdb} "select * from CM_CLUSTER_INFO where(CLUSTER_ID LIKE '%@ver=%')")
        local clusterID=$(cat ${DEPLOY_XML} | grep -Eo "PARAM[ ]+name=\"clusterID\"[ ]+value=\"[^\"]*" |  awk -F\" '{print $NF}')
        [ -z "${clusterID}" ] && return 1
        set_ifs
        for item in $Info;do
            clusterIDtmp=$(${cmdToolC00} -d ${item})
            if [ "X${clusterIDtmp}" != "X${clusterID}" ];then
                sqlite3 ${cm_confdb} "delete from CM_CLUSTER_INFO where(CLUSTER_ID LIKE '%@ver=%')"
                sqlite3 ${cm_confdb} "insert into CM_CLUSTER_INFO values('$(${cmdToolC00} -e ${clusterID})')"
                break
            fi
        done
        restore_ifs
    fi
    return 0
}
[ -f /opt/inspect/toolkit.app.zh.version ] && [ "$(cat /opt/inspect/toolkit.app.zh.version | grep true)" != "" ] && checkClusterID
function CheckConfigurationCompatibility()
{
    local iRet=""
    local isPass=0
    local curInspectNum="407"
    local curInspectFun="$( GetInspectType $curInspectNum )"
    local resultFile="/tmp/tmpResult${curInspectFun}"

    [ -f ${resultFile} ] && rm -rf ${resultFile}
    >${resultFile}

    local lowerVerNum=$(sqlite3 /opt/huawei/snas/etc/cm_conf.db "select count(CLUSTER_ID) from CM_CLUSTER_INFO where(CLUSTER_ID NOT LIKE '%@ver=%')")
    local verNum=$(sqlite3 /opt/huawei/snas/etc/cm_conf.db "select count(CLUSTER_ID) from CM_CLUSTER_INFO ")
    local ClusteridRet=""
    if [ ${lowerVerNum} -eq 0 ] && [ ${verNum} -ne 0 ];then
        ClusteridRet="Pass"
    else
        isPass=1
        ClusteridRet="Not pass"
        echo "[ERR]INFO:Failed to check the clusterid. Use the inspection tool to rectify the fault before the upgrade. " >>${resultFile} 2>&1
    fi

    echo "Clusterid:${ClusteridRet}" >>${resultFile} 2>&1
    echo "${curInspectFun}_Pass ${isPass}" >>${resultFile} 2>&1
    LOG "[$FUNCNAME]${curInspectFun}_Pass ${isPass}"
}

CheckConfigurationCompatibility

