#!/bin/sh

set -e

remHost="$1"
remHostname="$2"
remUser="ganymede"
remDir="/etc/dhcp"
remConf4="${remDir}/dhcpd.conf"
remConf6="${remDir}/dhcpd6.conf"
localDir="/var/cache/xsltdhcp"
commonFiles="/etc/dhcp/dhcpd.conf.local /etc/dhcp/dhcpd.conf.option82 /etc/dhcp/dhcpd6.conf.local"

runTask () {       
	"$@"
	if [ $? -ne 0 ] ; then
		echo "failed (exit code $?)!"
		exit $?
	fi
}

echo -n "Transfering DHCP configuration to server... "
test -e "${localDir}/dhcpd.conf.${remHost}"  && runTask rsync -a "${localDir}/dhcpd.conf.${remHost}"  "${remUser}@${remHostname}:${remConf4}"
test -e "${localDir}/dhcpd6.conf.${remHost}" && runTask rsync -a "${localDir}/dhcpd6.conf.${remHost}" "${remUser}@${remHostname}:${remConf6}"
rsync -a $commonFiles "${remUser}@${remHostname}:${remDir}"

echo "Restarting DHCP server..."
runTask ssh -oBatchMode=yes "${remUser}@${remHostname}" /usr/bin/sudo /etc/init.d/isc-dhcp-server restart < /dev/null
runTask ssh -oBatchMode=yes "${remUser}@${remHostname}" /usr/bin/sudo /etc/init.d/isc-dhcp6-server restart < /dev/null

exit 0
