#!/bin/bash

DSTFILEBASE="/etc/kea/kea-dhcp4-reservations"
DST6FILEBASE="/etc/kea/kea-dhcp6-reservations"
ARPTABDIR="/etc/sysconfig/kea-conf/subnets"
GROUPDIR="/etc/sysconfig/kea-conf/dhcp4/groups"
GROUP6DIR="/etc/sysconfig/kea-conf/dhcp6/groups"
HEXTRASDIR="/etc/sysconfig/kea-conf/dhcp4/hostextras"
HEXTRAS6DIR="/etc/sysconfig/kea-conf/dhcp6/hostextras"

for subnet in `/bin/ls ${ARPTABDIR}`; do
	DSTFILE="${DSTFILEBASE}-${subnet}.conf"
	DST6FILE="${DST6FILEBASE}-${subnet}.conf"
	echo "" > ${DSTFILE}
	echo "" > ${DST6FILE}

	for group in `/bin/ls ${GROUPDIR}`; do

		grep '^\<'"${group}"'\> ' ${ARPTABDIR}/${subnet} | while read DUMMYGROUP IP6 IP MAC DUID IAID NAME DESC; do
			if [ "${IP}" != "-" ]; then
				echo '{' >> ${DSTFILE}
				echo '    "hostname": "'"${NAME}"'",' >> ${DSTFILE}
				cat ${GROUPDIR}/${group} >> ${DSTFILE}
				if [ -r ${HEXTRASDIR}/${NAME} ]; then
					cat ${HEXTRASDIR}/${NAME} >> ${DSTFILE}
				fi
				echo '        // '"${DESC}" >> ${DSTFILE}
				echo '        "hw-address": "'"${MAC}"'",' >> ${DSTFILE}
				echo '        "ip-address": "'"${IP}"'"' >> ${DSTFILE}
				echo '},' >> ${DSTFILE}
			fi
	
			if [ "${DUID}" != "-" ]; then
				echo '{' >> ${DST6FILE}
				echo '    "hostname": "'"${NAME}"'",' >> ${DST6FILE}
				cat ${GROUP6DIR}/${group} >> ${DST6FILE}
				echo '        // '"${DESC}" >> ${DST6FILE}
				if [ "${DUID}" = "MAC" ]; then
					echo '        "hw-address": "'"${MAC}"'",' >> ${DST6FILE}
				else
					echo '        "duid": "'"${DUID}"'",' >> ${DST6FILE}
				fi
				#echo '        "hw-address": "'"${MAC}"'",' >> ${DST6FILE}
				echo '        "ip-addresses": [ "'"${IP6}"'" ]' >> ${DST6FILE}
				echo '},' >> ${DST6FILE}
			fi
		done

		echo '' >> ${DSTFILE}
		echo '' >> ${DST6FILE}

	done

	echo '{ "hostname": "dummy", "hw-address": "00:00:00:00:00:00" }' >> ${DSTFILE}
	echo '{ "hostname": "dummy", "hw-address": "00:00:00:00:00:00" }' >> ${DST6FILE}
done

systemctl restart kea-dhcp4
systemctl restart kea-dhcp6

