#! /usr/bin/ksh
#
#pragma	ident	"@(#)rac_framework_lib.ksh 1.3	03/01/10 SMI"
#
# Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
############################################################
#
# SUNW.rac_framework Resource Type library
#
############################################################

initialize()
{
	SYSLOG_TAG="SC[SUNW.rac_framework.${MYNAME:-}]"

	return 0	
}

############################################################
#
# file_sync
# 	Synchronize component configuration files with
#	resource properties
#
############################################################
file_sync()
{
	typeset template
	typeset conf_file

	#
	# Update RAC framework configuration file
	#

	template=/usr/cluster/lib/ucmm/rt/rac_framework/etc/rac_framework.conf.template
	conf_file=/usr/cluster/lib/ucmm/rt/rac_framework/etc/rac_framework.conf
	sync_conf_file "${MY_RS}" ${template} ${conf_file}

	#
	# Update UDLM configuration file
	#

	UDLM_RS=$(get_udlm_resource)
	if [ -n "${UDLM_RS}" ]; then
		# UDLM resource is configured.
		# Synchronize UDLM configuration file
		template=/usr/cluster/lib/ucmm/rt/rac_udlm/etc/udlm.conf.template
		conf_file=/opt/SUNWudlm/etc/udlm.conf

		sync_conf_file "${UDLM_RS}" ${template} ${conf_file}
	fi

	#
	# Update CVM configuration file
	#

	CVM_RS=$(get_cvm_resource)
	if [ -n "${CVM_RS}" ]; then
		# CVM resource is configured.
		# Synchronize CVM configuration file
		template=/usr/cluster/lib/ucmm/rt/rac_cvm/etc/cvm.conf.template
		conf_file=/opt/SUNWcvm/etc/cvm.conf

		sync_conf_file "${CVM_RS}" ${template} ${conf_file}
	fi

	#
	# Update HWRAID configuration file
	#

	HWRAID_RS=$(get_hwraid_resource)
	if [ -n "${HWRAID_RS}" ]; then

		# HWRAID resource is configured.
		# Synchronize HWRAID configuration file

		template=/usr/cluster/lib/ucmm/rt/rac_hwraid/etc/hwraid.conf.template
		conf_file=/usr/cluster/lib/ucmm/rt/rac_hwraid/etc/hwraid.conf

		sync_conf_file "${HWRAID_RS}" ${template} ${conf_file}
	fi

	return 0
}

############################################################
#
# start_ucmmd
# 	This function calls /etc/init.d.initucmm with boot 
#       argument to start ucmmd daemon
#
############################################################
start_ucmmd()
{
	typeset rc=0

	ucmmd_running

	if [ $? -eq 0 ]; then
		# UCMMD is running 
		# Don't attempt to start ucmmd

		scds_syslog -p notice -t ${SYSLOG_TAG} -m \
			"ucmmd is already running."
		return 0
		
	fi

	INITUCMM="/etc/init.d/initucmm"

	if [ -f ${INITUCMM} ]; then
		$INITUCMM boot
		rc=$?
	else
		scds_syslog -p error -t ${SYSLOG_TAG} -m \
			"ucmmd startup program %s not found" \
			${INITUCMM}
		rc=1

	fi

	return $rc

}

