#!/bin/bash
#
# Restart of resources after reboot
# Use RESOURCE & RESOURCE_PATH environment variables
#
# Copyright (c) 2013-2017, Parallels International GmbH
#
# Our contact details: Parallels International GmbH, Vordergasse 59, 8200
# Schaffhausen, Switzerland.
#

. /usr/share/shaman/functions

verify_caller

HANDLER_NAME=`basename $0`
if [ -z "$RESOURCE" ]; then
	echo "RESOURCE environment variable undefined" 1>&2
	exit 1
fi

if [ -z "$RESOURCE_PATH" ]; then
	echo "RESOURCE_PATH environment variable undefined" 1>&2
	exit 1
fi

HANDLER_PATH="/usr/share/shaman"
HANDLER_LIST=`find "${HANDLER_PATH}" -mindepth 1 -maxdepth 1 -type d -printf "%f " | sort -r`

for HANDLER in ${HANDLER_LIST}; do
	RESOURCE_ID=${RESOURCE#$HANDLER}
	if [ "X$RESOURCE_ID" != "X$RESOURCE" ]; then
		SCRIPT=$HANDLER_PATH/$HANDLER/${HANDLER_NAME}.sh
		if [ -e "$SCRIPT" ]; then
			CMD="RESOURCE_ID=\"$RESOURCE_ID\" RESOURCE_PATH=\"$RESOURCE_PATH\" $SCRIPT"
			eval $CMD
			RET=$?
			if [ $RET -ne 0 ] ; then
				echo "'$CMD' failed with code $RET" 1>&2
				exit 2
			fi
		fi
		exit 0
	fi
done
echo "Resource handler not found for '$RESOURCE'" 1>&2
exit 1
