#!/usr/bin/openrc-run

description="Starts / stops primary DC"

. /opt/etc/functions.openrc

# /etc/conf.d/pdc variables:
# PDC_VM - name of virtual machine with AD DC

PDC_VM=${PDC_VM:-"pdc"}
TIMEOUT=${TIMEOUT:-"20"}

depend()
{
	need libvirtd
	provide ${SVCNAME}
}

start()
{
	local _rv=0
	ebegin "Starting \"${SVCNAME}\""
	eindent
	if ! (virsh list | grep ${PDC_VM} > /dev/null 2>&1); then
		update_me
		einfo "${ME}: starting primary domain controller"
		virsh start ${PDC_VM}
		einfo "${ME}: waiting ${TIMEOUT} seconds..."
		sleep ${TIMEOUT}
		einfo "${ME}: ... done, now have to wait for domain userlist to appear."
	fi
	virsh list | grep ${PDC_VM} > /dev/null 2>&1 || _rv=1
	eend ${_rv}
	return ${_rv}
}

stop()
{
	ebegin "Stopping \"${SVCNAME}\""
	if virsh list | grep ${PDC_VM} > /dev/null 2>&1; then
		update_me
		einfo "${ME}: stopping primary domain controller"
		virsh shutdown ${PDC_VM}
		sleep ${TIMEOUT}
	fi
	eend 0
	return 0
}
