#!/bin/sh

#Debug File:
DEBUG_FILE="/tmp/ucarp/ha_debug_record"
if [ -e "$DEBUG_FILE" ] ;then 
	echo >$DEBUG_FILE
else
	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`
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 "[Collected] UCI CONFIG:ucarp_mode" >>$DEBUG_FILE
uci show ucarp_mode >>$DEBUG_FILE
echo "=================================================" >>$DEBUG_FILE
echo "[Collected] UCI CONFIG:ucarp" >>$DEBUG_FILE
uci show ucarp >>$DEBUG_FILE

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

cat $DEBUG_FILE >/dev/console
echo "HA debug data collected completed! see $DEBUG_FILE" >/dev/console
