#!/bin/sh
#
# Copyright (c) Citrix Systems
#
# wait for xapi initialisation to complete.  Then, if initialisation
# did complete, and we are not in rolling-pool-upgrade mode, attempt
# to start all vms with "auto_poweron" in their other-config
#

[ -e /proc/xen ] || exit 0

XAPI_START_TIMEOUT_SECONDS=240

# wait for xapi to complete initialisation for a max of XAPI_START_TIMEOUT_SECONDS
/opt/xensource/bin/xapi-wait-init-complete ${XAPI_START_TIMEOUT_SECONDS}

if [ $? -eq 0 ]; then

    pool=$(xe pool-list params=uuid --minimal 2> /dev/null)

	auto_poweron=$(xe pool-param-get uuid=${pool} param-name=other-config param-key=auto_poweron 2> /dev/null)
	if [ $? -eq 0 ] && [ "${auto_poweron}" = "true" ]; then
		logger "$0 auto_poweron is enabled on the pool-- this is an unsupported configuration."
		
    	# if xapi init completed then start vms (best effort, don't report errors)
		xe vm-start other-config:auto_poweron=true power-state=halted --multiple >/dev/null 2>/dev/null || true
	fi
fi
