Permalink
Fetching contributors…
Cannot retrieve contributors at this time
executable file 40 lines (32 sloc) 941 Bytes
#! /bin/bash
#
# Copyright (c) Citrix Systems 2008. All rights reserved.
#
# wait (given specified timeout) for xapi to complete all
# initialisation (including storage initialisation)
#
[ -e /proc/xen ] || exit 0
usage () {
echo Usage: $0 \<timeout\> \(seconds\) \[tag\]
echo Poll for xapi to complete initialisation, for up to \<timeout\> seconds.
echo Log to syslog on failure, optionally tagging with \[tag\].
exit 1
}
XAPI_INIT_COMPLETE_COOKIE=/var/run/xapi_init_complete.cookie
if [ -z "$1" ]; then
usage
else
RETRIES=$1
fi
while [ ${RETRIES} -ne 0 ]; do
if [ -e ${XAPI_INIT_COMPLETE_COOKIE} ]; then
# success; xapi has completed initialisation
exit 0
fi
sleep 1
RETRIES=$(( ${RETRIES} - 1 ))
done
# xapi did not complete initialisation during specified timeout interval
TAG=${2:-wait-xapi-init-complete}
logger --tag ${TAG} --stderr "Failed to detect xapi init complete after ${1}s"
exit 1