#!/bin/bash

#check in master node
G_INSPECT_MMLPATH="/opt/huawei/snas/script/inspect_mml"
. $G_INSPECT_MMLPATH/CheckItems
CurInspectNum="318"
CurInspectFun=`GetInspectType $CurInspectNum`
RESULTFILE="/tmp/tmpResult${CurInspectFun}"
>$RESULTFILE

isPass=0

function main()
{
    local Cluster_DFS_TYPE="1 4 5"
    local dfsservice="1"
    local s3service="2"
    local swiftservice="3"
    local snasfile="/opt/huawei/snas/etc/snas.ini"
    local DFSstatus="no"
    local S3status="no"
    local SWIFTstatus="no"
     
    if [ ! -f "${snasfile}" ];then
        echo "INFO:The file ${mds_c_confFile} does not exist." >>${RESULTFILE} 2>&1
        isPass=1
        return
    fi 
    #𳡾
    product_service=$( grep "cluster_service_type" /opt/huawei/snas/etc/snas.ini | awk -F"=" '{print $2}' | sed 's/ //g' )
    node_service=$( grep "node_service_type" /opt/huawei/snas/etc/snas.ini | awk -F"=" '{print $2}' | sed 's/ //g' )
    if [ "X${dfsservice}" == "X${node_service}" ];then
        DFSstatus="yes"
    elif [ "X${dfsservice}" == "X${node_service}" ];then
        S3status="yes"
    elif [ "X${dfsservice}" == "X${node_service}" ];then
        SWIFTstatus="yes"
    else
        echo "INFO:unknown node type ${node_service},no this type." >>${RESULTFILE} 2>&1
    fi 
    
    #nfs
    touch nas.sh
    echo '#!/bin/bash' > nas.sh
    echo '$*' >> nas.sh
    echo ' ' >> nas.sh
    chmod +x nas.sh
    ./nas.sh "/usr/local/bin/nas_proto_nfs -c get_share_count" > tmpResultnascheck_nfs 2>&1
    nfscountvalue=$( grep "<count>" tmpResultnascheck_nfs )
    if [ "X" == "X${nfscountvalue}" ];then
        nfsstatus="no"
    else
        nfsstatus="yes"
    fi
    #echo $nfspagevalue
    rm -f tmpResultnascheck_nfs >/dev/null 2>&1 
    
    #cifs״̬
    ./nas.sh "/usr/local/bin/nas_proto_cifs -c show-page -f 0 -t 1" > tmpResultnascheck_cifs 2>&1
    cifspagevalue=$( grep "<fsid>" tmpResultnascheck_cifs )
    if [ "X" != "X${cifspagevalue}" ];then
        cifsstatus="yes"
    else
        cifsstatus="no"
    fi
    #echo $cifspagevalue
    rm -f tmpResultnascheck_cifs >/dev/null 2>&1
    rm -f nas.sh
    
    #ftp
    ftpstatus=$( service nasftp status | grep "pure-ftpd" | awk -F"." '{print $NF}' )
    if [ "running" == "${ftpstatus}" ];then
        ftp="yes"
    else
        ftp="no"
    fi 
    
    #ndmp
    ndmpstatus=$( service nasndmp status |grep "ndmpd" | awk -F"." '{print $NF}' )
    if [ "running" == "${ndmpstatus}" ];then
        ndmp="yes"
    else
        ndmp="no"
    fi 
    
    #snmp
    snmpprossnum=$( ps auxww | grep snmp_monitor.sh | grep -v grep |wc -l )
    if [ "0" == "${snmpprossnum}" ];then
        snmp="no"
    else
        snmp="yes"
    fi 
    
    echo "nfs:${nfsstatus}||cifs:${cifsstatus}||ftp:${ftp}||ndmp:${ndmp}||snmp:${snmp}||s3:${S3status}||swift:${SWIFTstatus}" >>${RESULTFILE} 2>&1
}
DFS_TYPE="1 4 5"
product_service=$( grep "cluster_service_type" /opt/huawei/snas/etc/snas.ini | awk -F"=" '{print $2}' | sed 's/ //g')
if [[ ${DFS_TYPE} =~ ${product_service} ]];then
    main
else
    echo "cifs:--" >>${RESULTFILE} 2>&1
fi
echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE} 2>&1
exit 0

