#!/bin/bash
# 配置 stonith fence

# env:
#   HOST
#   IPMIIP
#   IPMIUSER
#   IPMIPASS

if [ -z "$IPMI_CIP" ];then
    # Check var IPMI_CIP
    # This program needs function IPMI_CIP
    source /unas/sbin/dualcontroller/config/prepare
fi

# 检查IPMI
if ! $PING "$IPMIIP";then
    echo $PROCESS_CHECK $STATUS_FAILED "$IPMIIP" >> $log_file
    exit 1
fi
if ! ipmitool -I lanplus -C "$(IPMI_CIP)" -H "$IPMIIP" -U "$IPMIUSER" -P "$IPMIPASS" chassis power status;then
    echo $PROCESS_CHECK $STATUS_FAILED IPMI "$user@$IPMIIP" >> $log_file
    exit 1
fi

if pcs stonith config stonith-"$HOST";then
    echo "STONITH for $HOST exists, updating"
    pcs stonith update stonith-"$HOST" pcmk_delay_base=4 pcmk_host_list="$HOST" ip="$IPMIIP" login="$IPMIUSER" passwd="$IPMIPASS" lanplus="1" cipher="$(IPMI_CIP)" op monitor interval="60s"
else
    pcs stonith create stonith-"$HOST" fence_ipmilan pcmk_delay_base=4 pcmk_host_list="$HOST" ip="$IPMIIP" username="$IPMIUSER" password="$IPMIPASS" lanplus="1" cipher="$(IPMI_CIP)" op monitor interval="60s"
fi
