#!/bin/bash

export PATH=/sbin:/bin:/usr/sbin:/usr/bin

RET_OK=0
RET_NOT=1
RET_HBERR=2
RET_USAGE=3

if [ $# != 1 ]; then
	echo "Usage: resources.sh resource_group"
	exit $RET_USAGE
fi

RES_GRP=$1
RET_CODE=$RET_NOT

NODE=$(uname -n | perl -ne 'm/([\w\-\.]+)\.cooperativaobrera\.coop\s+.*/; print "$1"')
PERL_CMD='m/group id="([\w\_]+)"/ and print "$1 " or m/node name="([\w\-\.]+)"/ and print "$1\n"'

if [ $RES_GRP = "list" ]; then
	echo `crm_mon -r -1 -X 2>/dev/null | egrep "group|node name" | grep -A 1 -w "<group" | perl -ne "${PERL_CMD}" | grep ${NODE} | awk '{ print $1 }' | perl -pe 'chomp if eof' | tr '\n' ':'`
	RET_CODE=$RET_OK
else
	SRV_RSC=`crm_mon -r -1 -X 2>/dev/null | egrep "group|node name" | grep -A 1 -w "<group" | perl -ne "${PERL_CMD}" | grep ${RES_GRP} | awk '{ print $2 }'`
	if [ "${SRV_RSC}" = "" ]; then
		# Maintenance mode?
		/usr/sbin/crm_mon -1 2>/dev/null | grep -A 1 "Resource Group: ${RES_GRP}" >/dev/null 2>&1
		if [ $? -eq 0 ]; then
			SRV_RSC=$(/usr/sbin/crm_mon -1 2>/dev/null | grep -A 1 "Resource Group: ${RES_GRP}" | tail -1 | perl -ne 'm/\s+\w+\s+\([\w:\.]+\):\s+Started\s+([\w\-\.]+)\.cooperativaobrera\.coop\s+.*/; print "$1"')
		else
			RET_CODE=$RET_HBERR
		fi
	fi
	if [[ "${SRV_RSC}" =~ ^${NODE} ]]; then
		RET_CODE=$RET_OK
	fi
fi

exit $RET_CODE
