#!/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

	auto_poweron_pool=$(xe pool-list params=uuid other-config:auto_poweron=true --minimal 2> /dev/null)
	
	if [ $? -eq 0 ] && [ -n "$auto_poweron_pool" ]; 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
