Print this page
Split Close
Expand all
Collapse all
          --- /workspace/neilga/ohacds-ids/webrev/usr/src/cmd/ha-services/gds-agents/ids/ids_register.ksh-
          +++ ids_register.ksh
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15  # file and include the License file at usr/src/CDDL.txt.
  16   16  # If applicable, add the following below this CDDL HEADER, with the
  17   17  # fields enclosed by brackets [] replaced with your own identifying
  18   18  # information: Portions Copyright [yyyy] [name of copyright owner]
  19   19  #
  20   20  # CDDL HEADER END
  21   21  #
  22   22  # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  23   23  # Use is subject to license terms.
  24   24  #
  25      -#ident   "@(#)ids_register.ksh 1.3     08/04/29 SMI"
       25 +#ident   "@(#)ids_register.ksh 1.4     08/05/27 SMI"
  26   26  #
  27   27  #       DO NOT EDIT THIS FILE
  28   28  
  29   29  IDSDIR=/opt/SUNWscids/
  30   30  
  31   31  typeset opt
  32   32  
  33   33  while getopts 'f:' opt
  34   34  do
  35   35          case "$opt" in
↓ open down ↓ 1 lines elided ↑ open up ↑
  37   37             *)   /usr/bin/echo "ERROR: ${MYNAME} Option ${OPTARG} unknown"
  38   38                  /usr/bin/echo "Usage: ${MYNAME} -f <config file>"
  39   39                  exit 1;;
  40   40          esac
  41   41  done
  42   42  
  43   43  [ -z "${MYCONFIG}" ] && MYCONFIG=/opt/SUNWscids/util/ids_config
  44   44  
  45   45  . ${MYCONFIG}
  46   46  
  47      -for variable in RS RG USERID INFORMIXDIR ONCONFIG INFORMIXSERVER INFORMIXSQLHOSTS
       47 +for variable in RS RG LH_RS HAS_RS USERID INFORMIXDIR ONCONFIG INFORMIXSERVER INFORMIXSQLHOSTS
  48   48  do
  49   49          if eval [ -z \$${variable} ]
  50   50          then
  51      -           /usr/bin/printf "ids requires a value for ${variable}= within ${MYCONFIG}\n"
       51 +           /usr/bin/printf "IDS requires a value for ${variable}= within ${MYCONFIG}\n"
  52   52             rc=1
  53   53          fi
  54   54  done
  55   55  
  56   56  [ "${rc}" -ne 0 ] && exit 1
  57   57  
  58      -if [ -z ${RS_ZONE} ]
  59      -then
  60      -
  61   58  /usr/cluster/bin/clrs create -g ${RG} -t SUNW.gds \
  62   59  -p Start_command="/opt/SUNWscids/bin/control_ids \
  63   60  -R '${RS}' -G '${RG}' -U '${USERID}' -D '${INFORMIXDIR}' -C '${ONCONFIG}' \
  64   61  -S '${INFORMIXSERVER}' -H '${INFORMIXSQLHOSTS}' start ids " \
  65   62  -p Stop_command="/opt/SUNWscids/bin/control_ids \
  66   63  -R '${RS}' -G '${RG}' -U '${USERID}' -D '${INFORMIXDIR}' -C '${ONCONFIG}' \
  67   64  -S '${INFORMIXSERVER}' -H '${INFORMIXSQLHOSTS}' stop ids " \
  68   65  -p Probe_command="/opt/SUNWscids/bin/control_ids \
  69   66  -R '${RS}' -G '${RG}' -U '${USERID}' -D '${INFORMIXDIR}' -C '${ONCONFIG}' \
  70   67  -S '${INFORMIXSERVER}' -H '${INFORMIXSQLHOSTS}' probe ids " \
  71   68  -p Validate_command="/opt/SUNWscids/bin/control_ids \
  72   69  -R '${RS}' -G '${RG}' -U '${USERID}' -D '${INFORMIXDIR}' -C '${ONCONFIG}' \
  73   70  -S '${INFORMIXSERVER}' -H '${INFORMIXSQLHOSTS}' validate ids " \
  74   71  -p Port_list=23/tcp -p Stop_signal=9 \
  75   72  -y Resource_dependencies=${HAS_RS},${LH_RS} \
  76   73  ${RS}
  77   74  
  78      -else
  79      -        # Process a failover zone registration
  80      -        # 
  81      -        # 1. Validate ${START_TIMEOUT} and ${STOP_TIMEOUT}
  82      -        # 2. Get the failover zone's pfile and determine failover zone name
  83      -        # 3. Build a temporary sczsmf_config file
  84      -        # 4. zlogin to the failover zone execute ids_smf_register
  85      -        #    - Creates the SMF manifest using parameter values
  86      -        #    - Validate and import the SMF manifest into the SMF repository
  87      -        # 5. Register a SC sczsmf resource to enable/disable the SMF instance
       75 +rc=$?
  88   76  
  89      -        RS_STATE=`/usr/cluster/bin/scha_resource_get -O status -R ${RS}`
  90      -        rc=$?
  91      -
  92      -        if [ "${rc}" -eq 0 ]
  93      -        then
  94      -           /usr/bin/printf "Sun Cluster resource ${RS} already exists\n"
  95      -           /usr/bin/printf "Cleanup resource before retrying\n"
  96      -           exit 1
  97      -        fi
  98      -
  99      -        if ! [ "${START_TIMEOUT}" -ge 0 ] 2> /dev/null
 100      -        then
 101      -           /usr/bin/printf "START_TIMEOUT value is not an integer\n"
 102      -           exit 1
 103      -        fi
 104      -
 105      -        if ! [ "${STOP_TIMEOUT}" -ge 0 ] 2> /dev/null
 106      -        then
 107      -           /usr/bin/printf "STOP_TIMEOUT value is not an integer\n"
 108      -           exit 1
 109      -        fi
 110      -           
 111      -        ZONEPFILE=`/usr/cluster/bin/clrs show -p Start_command ${RS_ZONE} | /usr/bin/grep -w Start_command | \
 112      -           /usr/bin/awk '{ if ($7 == "-P") print $8 }'`
 113      -
 114      -        if [ ! -d "${ZONEPFILE}" ]
 115      -        then
 116      -           /usr/bin/printf "Unable to retrieve zone parameter file directory\n"
 117      -           exit 1
 118      -        else
 119      -           ZONE=`/usr/bin/grep Zonename= ${ZONEPFILE}/sczbt_${RS_ZONE} | /usr/bin/awk -F= '{print $2}' | /usr/xpg4/bin/tr -d '"' `
 120      -        fi
 121      -
 122      -        # VALIDATE RESOURCE
 123      -
 124      -        if /usr/sbin/zlogin ${ZONE} "/opt/SUNWscids/bin/control_ids -R '${RS}' -G '${RG}' -U '${USERID}' -D '${INFORMIXDIR}' -C '${ONCONFIG}' -S '${INFORMIXSERVER}' -H '${INFORMIXSQLHOSTS}' validate ids "
 125      -        then
 126      -           /usr/bin/printf "Validation of ${RS} succeeded\n"
 127      -        else
 128      -           /usr/bin/printf "Validation of ${RS} failed\n"
 129      -           /usr/bin/printf "Check the syslog for ${ZONE}\n"
 130      -           exit 1
 131      -        fi
 132      -           
 133      -        SERVICE_TAG=svc:/application/sczone-agents:${RS}
 134      -
 135      -        /usr/bin/cat > /var/tmp/${RS}_smf_config <<-EOF
 136      -RS=${RS}
 137      -RG=${RG}
 138      -SCZBT_RS=${RS_ZONE}
 139      -ZONE=${ZONE}
 140      -SERVICE=${SERVICE_TAG}
 141      -RECURSIVE=true
 142      -STATE=true
 143      -SERVICE_PROBE="/opt/SUNWscids/bin/control_ids probe ids ${SERVICE_TAG}"
 144      -EOF
 145      -
 146      -        TMP_WORK_CONFIG=/var/tmp/${RS}_tmp_work_config
 147      -        /usr/bin/cat ${MYCONFIG} | /usr/sbin/zlogin ${ZONE} /usr/bin/cat - \> ${TMP_WORK_CONFIG}
 148      -        
 149      -        # Remove an existing FMRI in the zone if it already exists
 150      -        ${IDSDIR}/util/ids_smf_remove -z ${ZONE} -f ${SERVICE_TAG} 2>/dev/null
 151      -
 152      -        # Create and register the ${SERVICE_TAG}
 153      -        if /usr/sbin/zlogin ${ZONE} ${IDSDIR}/util/ids_smf_register ${TMP_WORK_CONFIG}
 154      -        then
 155      -           if /opt/SUNWsczone/sczsmf/util/sczsmf_register -f /var/tmp/${RS}_smf_config
 156      -           then
 157      -                /usr/bin/printf "Registration of ${RS} succeeded\n"
 158      -
 159      -                if ! /usr/cluster/bin/clrs set -p Start_timeout=${START_TIMEOUT} ${RS}
 160      -                then
 161      -                   /usr/bin/printf "clrs set -p Start_timeout=${START_TIMEOUT} ${RS} failed\n"
 162      -                   exit 1
 163      -                fi
 164      -
 165      -                if ! /usr/cluster/bin/clrs set -p Stop_timeout=${STOP_TIMEOUT} ${RS}
 166      -                then
 167      -                   /usr/bin/printf "clrs set -p Stop_timeout=${STOP_TIMEOUT} ${RS} failed\n"
 168      -                   exit 1
 169      -                fi
 170      -           else
 171      -                /usr/bin/printf "Registration of ${RS} failed\n"
 172      -                exit 1
 173      -           fi
 174      -        fi
 175      -fi
 176      -
 177      -exit 0
       77 +exit ${rc}
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX