Udiff control_ids.ksh
--- /workspace/neilga/ohacds-ids/webrev/usr/src/cmd/ha-services/gds-agents/ids/control_ids.ksh- Tue May 27 03:22:48 2008
+++ control_ids.ksh Tue May 27 03:16:22 2008
@@ -20,23 +20,20 @@
# CDDL HEADER END
#
# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#ident "@(#)control_ids.ksh 1.2 08/02/04 SMI"
+#ident "@(#)control_ids.ksh 1.3 08/05/27 SMI"
#
# Usage GDS: <options> <parameter1> <parameter2>
#
-# Usage SMF: <parameter1> <parameter2> <parameter3>
-#
# <options>: -R <resource> -G <resourcegroup> etc.
# parameter1: start | stop | probe | validate
# parameter2: ids
-# parameter3: <FMRI>
-MYNAME=`/usr/bin/basename $0`
-MYDIR=`/usr/bin/dirname $0`
+MYNAME=$(/usr/bin/basename $0)
+MYDIR=$(/usr/bin/dirname $0)
. ${MYDIR}/../etc/config
typeset opt
@@ -52,69 +49,57 @@
H) INFORMIXSQLHOSTS=${OPTARG};;
*) exit 1;;
esac
done
-if [ "${OPTIND}" -gt 1 ]
-then
- # Called by GDS
- CALLER=GDS
+shift $((${OPTIND} -1))
- shift $((${OPTIND} -1))
-else
- # Called by SMF
- CALLER=SMF
+METHOD=${1}
+COMPONENT=${2}
- . /lib/svc/share/smf_include.sh
+. ${MYDIR}/functions
- SMF_FMRI=${3}
-fi
+# Perform all the scha* calls
-METHOD=${1}
-COMPONENT=${2}
+TASK_COMMAND=""
-if [ "${CALLER}" = "GDS" ]
+if [ "${METHOD}" = "start" ]
then
- . ${MYDIR}/functions
+ START_TIMEOUT=$(/usr/cluster/bin/scha_resource_get -O START_TIMEOUT \
+ -R ${RESOURCE} -G ${RESOURCEGROUP} )
+fi
- # Perform all the scha* calls
- TASK_COMMAND=""
+if [ "${METHOD}" = "stop" ]
+then
+ STOP_TIMEOUT=$(/usr/cluster/bin/scha_resource_get -O STOP_TIMEOUT \
+ -R ${RESOURCE} -G ${RESOURCEGROUP} )
+fi
- if [ "${METHOD}" = "start" ]
- then
- START_TIMEOUT=`/usr/cluster/bin/scha_resource_get -O START_TIMEOUT \
- -R ${RESOURCE} -G ${RESOURCEGROUP} `
- fi
+# Retrieve the resource project name so that we can run any
+# Informix commands under the specified user's project.
- if [ "${METHOD}" = "stop" ]
- then
- STOP_TIMEOUT=`/usr/cluster/bin/scha_resource_get -O STOP_TIMEOUT \
- -R ${RESOURCE} -G ${RESOURCEGROUP} `
- fi
+RESOURCE_PROJECT_NAME=$(/usr/cluster/bin/scha_resource_get \
+ -R ${RESOURCE} -G ${RESOURCEGROUP} -O RESOURCE_PROJECT_NAME)
- # Retrieve the resource project name so that we can run any
- # Informix commands under the specified user's project.
+if [ -z "${RESOURCE_PROJECT_NAME}" -o "${RESOURCE_PROJECT_NAME}" = "default" ]
+then
+ # Retrieve the resource group project name
- RESOURCE_PROJECT_NAME=`/usr/cluster/bin/scha_resource_get \
- -R ${RESOURCE} -G ${RESOURCEGROUP} -O RESOURCE_PROJECT_NAME`
+ RESOURCE_PROJECT_NAME=$(/usr/cluster/bin/scha_resourcegroup_get \
+ -G ${RESOURCEGROUP} -O RG_PROJECT_NAME)
+fi
- if [ -z "${RESOURCE_PROJECT_NAME}" -o "${RESOURCE_PROJECT_NAME}" = "default" ]
- then
- # Retrieve the resource group project name
- RESOURCE_PROJECT_NAME=`/usr/cluster/bin/scha_resourcegroup_get \
- -G ${RESOURCEGROUP} -O RG_PROJECT_NAME`
- fi
+# Validate that ${USERID} belongs to the ${RESOURCE_PROJECT_NAME}
- # Validate that ${USERID} belongs to the ${RESOURCE_PROJECT_NAME}
- if [ -n "${RESOURCE_PROJECT_NAME}" ]
- then
- PROJ_MEMBER=`/usr/bin/projects ${USERID} | /usr/bin/egrep "^${RESOURCE_PROJECT_NAME} | \
- ${RESOURCE_PROJECT_NAME} | ${RESOURCE_PROJECT_NAME}$|^${RESOURCE_PROJECT_NAME}$"`
- fi
+if [ -n "${RESOURCE_PROJECT_NAME}" ]
+then
+ PROJ_MEMBER=$(/usr/bin/projects ${USERID} | /usr/bin/egrep "^${RESOURCE_PROJECT_NAME} | \
+ ${RESOURCE_PROJECT_NAME} | ${RESOURCE_PROJECT_NAME}$|^${RESOURCE_PROJECT_NAME}$")
+fi
- if [ -z "${PROJ_MEMBER}" ]
- then
+if [ -z "${PROJ_MEMBER}" ]
+then
# SCMSGS
# @explanation
# The userid does not belong to the specified project.
# @user_action
# Ensure the userid exists within the project. Check that
@@ -121,30 +106,18 @@
# you have the correct userid and project name.
scds_syslog -p daemon.notice -t $(syslog_tag) -m \
"%s - The user %s does not belong to project %s" \
"${MYNAME}" "${USERID}" "${RESOURCE_PROJECT_NAME}"
return 1
- else
- TASK_COMMAND="/usr/bin/newtask -p ${RESOURCE_PROJECT_NAME}"
- fi
else
- for i in RESOURCE RESOURCEGROUP INFORMIXDIR ONCONFIG INFORMIXSERVER \
- INFORMIXSQLHOSTS START_TIMEOUT STOP_TIMEOUT
- do
- export $i=`/usr/bin/svcprop -p parameters/$i ${SMF_FMRI}`
- done
-
- USERID=`/usr/bin/svcprop -p start/user ${SMF_FMRI}`
- PROJECT=`/usr/bin/svcprop -p start/project ${SMF_FMRI}`
-
- . ${MYDIR}/functions
+ TASK_COMMAND="/usr/bin/newtask -p ${RESOURCE_PROJECT_NAME}"
fi
debug_message "Method: ${MYNAME} - Begin"
${SET_DEBUG}
-[ -x /sbin/zonename ] && ZONENAME=`/sbin/zonename`
+[ -x /sbin/zonename ] && ZONENAME=$(/sbin/zonename)
set_redirection
case "${METHOD}" in
start)