#!/bin/bash
#
# Init file for hadmind dserver
#
# chkconfig: 2345 20 03
# description: Hintsoft admin daemon
#

PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
export MALLOC_ARENA_MAX=1

runApp(){
	[ -z "$2" ] && return 1
	tempList=/tmp/psList.list
	ps -ef >$tempList
	grep -q "$1" $tempList || $2
	rm -fr $tempList
	return 0
}
start() {
		
		[ -b /var/lib/hintadmind ] || mkdir -p /var/lib/hintadmind
		hintput ha enable
		touch /var/lib/hintadmind/disk	
		touch /var/lib/hintadmind/live
		touch /var/lib/hintadmind/refresh
		touch /var/lock/subsys/hadmind 
		touch /etc/hintadmind/disk.db
		touch /etc/hintadmind/client.db
		touch /etc/hintadmind/config.db
		touch /etc/hintadmind/dhcp.db
		touch /etc/password.bd
		/usr/local/bin/mountdisk -a
		[ -x /usr/sbin/pwconv ] && /usr/sbin/pwconv 
		[ $(which setenforce 2>/dev/null) ] && setenforce 0
		
		runApp in.tftpd 	"/usr/sbin/in.tftpd -l -u root -s /"
		runApp htcpserver 	"/usr/local/bin/htcpserver"
		runApp hudpserver 	"/usr/local/bin/hudpserver"
		runApp heartbeat 	"/usr/local/bin/heartbeat"
		runApp hintsyncd 	"/usr/local/bin/hintsyncd"
		runApp loadd 		"/usr/local/bin/loadd"
		runApp hintdhcpd 	"/usr/local/bin/hintdhcpd"
		runApp bootio 		"/usr/local/bin/bootdisk start"

		echo hadmind  server start ok.
		return 0
}

stop() {
		hintput poweroff yes
		/usr/local/bin/pwoff
		/usr/local/bin/bootdisk stop
		
		killall -9  heartbeat 	2>/dev/null
		killall -9  hintadmind 	2>/dev/null
		killall -9  htcpserver 	2>/dev/null
		killall -9  hudpserver 	2>/dev/null
		killall -9  hintsyncd 	2>/dev/null
		killall -9  serversyncd 2>/dev/null
		killall -9  loadd 		2>/dev/null
		killall -9  hintdhcpd 	2>/dev/null
		killall -9  in.tftpd 	2>/dev/null
		
		rm -fr /var/lock/subsys/hadmind
		echo hadmind server  stop ok.
		return 0
}

case $1 in 
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
[ -f /etc/hintver ] && echo   "  Hintdisk-$(cat /etc/hintver) in $(uname -r)====================="
echo "  hh start:    start hadmind server"
echo "  hh stop:     stop hadmind server"
echo "  hh restart:  restart hadmind server"
echo "  hv start:    start kvdisk server"
echo "  hv stop :    stop kvdisk server"
echo "  hv restart:  restart kvdisk server"
echo "  getver:      current version"
echo "  fix_balance: reset servers balance"
esac
