#!/bin/sh

#Debug File:
#DEBUG_FILE=">>/tmp/ucarp/ha_debug_record"
DEBUG_FILE=""
#if [ -e "$DEBUG_FILE" ] ;then 
#	echo >$DEBUG_FILE
#else
#	[ -d "/tmp/ucarp" ] || mkdir /tmp/ucarp
#	touch $DEBUG_FILE
#fi

#collect related process
echo "=================================================" $DEBUG_FILE
echo "[Collected] Related Process" $DEBUG_FILE
ps |grep ucarp $DEBUG_FILE

#collect HA temp record from json
echo "=================================================" $DEBUG_FILE
echo "[Collected] json Record:" $DEBUG_FILE
json show ucarp $DEBUG_FILE

#collect HA profile private status
echo "=================================================" $DEBUG_FILE
echo "[Collected] HA Profile Private Status:" $DEBUG_FILE
profiles=`ls /var/run/ucarp/private` 2>/dev/null
for i in $profiles ;do
	private_status=`cat /var/run/ucarp/private/$i`
	echo "$i:$private_status" $DEBUG_FILE
done

#collect interface info:
echo "=================================================" $DEBUG_FILE
echo "[Collected] LAN Interface Status:" $DEBUG_FILE
#Get HA LAN:
all_lan=`uci filter network physical eth0`
for i in $all_lan ;do
	[ `uci get network.$i.status` = "enable" ] && {
		echo "$i:" $DEBUG_FILE
		ip addr show dev lan-$i $DEBUG_FILE
	}
done
echo "=================================================" $DEBUG_FILE
echo "[Collected] WAN Interface Status:" $DEBUG_FILE
all_wan=`uci filter network physical eth2`
for i in $all_wan ;do
	[ `uci get network.$i.status` = "enable" ] && {
		echo "$i:" $DEBUG_FILE
		json show network.$1.connection $DEBUG_FILE
		ip addr show dev wan-$i $DEBUG_FILE
	}
done

#collect LAN dhcpd.conf
echo "=================================================" $DEBUG_FILE
echo "[Collected] dhcpd.conf:" $DEBUG_FILE
cat /etc/dhcpd.conf $DEBUG_FILE

#collect uci config
echo "=================================================" $DEBUG_FILE
echo "[Collected] UCI CONFIG:ucarp_mode" $DEBUG_FILE
uci show ucarp_mode $DEBUG_FILE
echo "=================================================" $DEBUG_FILE
echo "[Collected] UCI CONFIG:ucarp_hs" $DEBUG_FILE
uci show ucarp_hs $DEBUG_FILE
echo "=================================================" $DEBUG_FILE
echo "[Collected] UCI CONFIG:ucarp_as" $DEBUG_FILE
uci show ucarp_as $DEBUG_FILE

#collect HA script syslog
echo "=================================================" $DEBUG_FILE
echo "[Collected] HA script syslog" $DEBUG_FILE
logread |grep "High Availability" $DEBUG_FILE

#collect ucarp syslog
echo "=================================================" $DEBUG_FILE
echo "[Collected] ucarp log" $DEBUG_FILE
logread |grep "ucarp" $DEBUG_FILE

#cat $DEBUG_FILE
#echo "HA debug data collected completed! see $DEBUG_FILE"
