Debug Vxdcli
Debug Vxdcli
sh,v $" # # $Copyrights: Copyright (c) 2012 Symantec Corporation. # All rights reserved. # # THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF # SYMANTEC CORPORATION. USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED # WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SYMANTEC CORPORATION. # # The Licensed Software and Documentation are deemed to be commercial # computer software as defined in FAR 12.212 and subject to restricted # rights as defined in FAR Section 52.227-19 "Commercial Computer # Software - Restricted Rights" and DFARS 227.7202, "Rights in # Commercial Computer Software or Commercial Computer Software # Documentation", as applicable, and any successor regulations. Any use, # modification, reproduction release, performance, display or disclosure # of the Licensed Software and Documentation by the U.S. Government # shall be solely in accordance with the terms of this Agreement. $ # #=========================================================================== # Start up / shut down vxdclid daemon if [ ! -d /usr/sbin ] then echo "/usr not mounted" exit fi # /usr not mounted
LD_LIBRARY_PATH=/opt/VRTSsfmh/lib:/opt/VRTSdcli/lib:/usr/lib export LD_LIBRARY_PATH progname=$0 DCLICONFFILE=/etc/vx/dcli/conf/dcli_conf.ini SFMHOME=/opt/VRTSsfmh SFMCONFFILE=/etc/vx/dcli/sfm/conf/dcli_conf.ini CONFFILE=$DCLICONFFILE BINDIR=/usr/sbin DCLITMPDIR=/var/vx/dcli PIDFILE=/var/vx/dcli/.vxdclid.pid VXVMCONFFILE=/var/vx/dcli/.vxvmconfigure DCLIRESTARTINGDIR=/var/vx/dcli/ DCLIRESTARTING=/var/vx/dcli/vxdcli.sh.lock ARCH=`uname -p` PSARGS="-ef" if [ -f $SFMCONFFILE ] then CONFFILE=$SFMCONFFILE fi if [ -f $SFMHOME/bin/vxdclid ] then BINDIR=/opt/VRTSsfmh/bin fi if [ -x /usr/bin/zonename ]
then zonename=`/usr/bin/zonename` 2>/dev/null if [ "$zonename" = "global" ] then PSARGS="-f -z global" fi fi set_vxvm_version_conf() { vxvm_version=$1 rm -f $DCLITMPDIR/vxdclifile.tmp /bin/sed -e "s/VxlistPluginVersion.*=.*/VxlistPluginVersion = $vxvm_version/ g" $CONFFILE > $DCLITMPDIR/vxdclifile.tmp if [ $? -eq 0 -a -s $DCLITMPDIR/vxdclifile.tmp ] then /bin/mv $DCLITMPDIR/vxdclifile.tmp $CONFFILE else echo "ERROR: VRTSsfmh vxdcli.sh: Failed to update $CONFFILE" fi rm -f $DCLITMPDIR/vxdclifile.tmp chmod 644 $CONFFILE } schedule_restart_dcli() { XPRTLC_CMD=/opt/VRTSsfmh/bin/xprtlc DCLI_CMD="/opt/VRTSsfmh/etc/vxdcli.sh restart" $XPRTLC_CMD -l https://localhost:5634/admin/cgi-bin/schedule.pl/set/vxdclid_ restart -d sched="1440" -d command="$DCLI_CMD" >/dev/null 2>&1 } remove_schedule_dcli() { XPRTLC_CMD=/opt/VRTSsfmh/bin/xprtlc $XPRTLC_CMD -l https://localhost:5634/admin/cgi-bin/schedule.pl/del/vxdclid_ restart >/dev/null 2>&1 } stop_dcli() { if [ -f /usr/sbin/vxadm ] then /usr/sbin/vxadm service stop >/dev/null 2>&1 kill -9 $1 >/dev/null 2>&1 fi } stop_vxdcli() { remove_schedule_dcli $BINDIR/vxadm service stop >/dev/null 2>&1 if [ -f $PIDFILE ] then PID=`cat "$PIDFILE" 2>/dev/null` PSOUT=`ps -p $PID` echo $PSOUT grep vxdclid >/dev/null
if [ $? -eq 0 ] then kill -9 $PID >/dev/null 2>&1 fi fi rm -f $PIDFILE rm -f $VXVMCONFFILE } start_vxdcli() { if [ -f $PIDFILE ] then PID=`cat "$PIDFILE" 2>/dev/null` PSOUT=`ps -p $PID` echo $PSOUT grep vxdclid >/dev/null if [ $? -ne 0 ] then rm -f $PIDFILE fi PID=`ps $PSARGS grep vxdclid grep -v grep grep -v svcadm awk '{ print $2 }'` if [ "$PID" != "" ] then PSOUT=`ps -p $PID` echo $PSOUT grep vxdclid >/dev/null if [ $? -eq 0 ] then if [ "$BINDIR" = "/opt/VRTSsfmh/bin" ] then ps $PSARGS grep vxdclid grep VRTSsfmh >/dev/null 2>&1 if [ $? -ne 0 ] then stop_dcli $PID else echo "vxdclid process is already running: [ $PID ]" echo $PID > $PIDFILE return fi else echo "vxdclid process is already running: [ $PID ]" echo $PID > $PIDFILE return fi fi fi fi touch $VXVMCONFFILE if [ -f /usr/sbin/vxdctl ] then /usr/sbin/vxdctl support >/dev/null 2>&1 if [ $? -eq 0 ] then rm -f $VXVMCONFFILE vold_vrsn=`/usr/sbin/vxdctl support grep _vrsn awk '{print $2}'` if [ "$vold_vrsn" = "33" ] then VXLIST_PLUGIN_VERSION=60
export VXLIST_PLUGIN_VERSION set_vxvm_version_conf 60 elif [ "$vold_vrsn" = "32" ] then VXLIST_PLUGIN_VERSION=51SP1 export VXLIST_PLUGIN_VERSION set_vxvm_version_conf 51SP1 elif [ "$vold_vrsn" = "31" ] then VXLIST_PLUGIN_VERSION=51 export VXLIST_PLUGIN_VERSION set_vxvm_version_conf 51 elif [ "$vold_vrsn" = "24" ] then out=`pkginfo -l VRTSvxvm grep MP3 grep RP` if [ $? -ne 0 ] then VXLIST_PLUGIN_VERSION=50MP3 set_vxvm_version_conf 50MP3 else echo $out egrep 'RP1 RP2 RP3' if [ $? -eq 0 ] then VXLIST_PLUGIN_VERSION=50MP3 set_vxvm_version_conf 50MP3 else VXLIST_PLUGIN_VERSION=50MP3RP4 set_vxvm_version_conf 50MP3RP4 fi fi export VXLIST_PLUGIN_VERSION elif [ "$vold_vrsn" = "23" ] then VXLIST_PLUGIN_VERSION=50 export VXLIST_PLUGIN_VERSION set_vxvm_version_conf 50 schedule_restart_dcli elif [ "$vold_vrsn" = "21" -o "$vold_vrsn" = "22" ] then VXLIST_PLUGIN_VERSION=41 /sbin/vxdmpadm gettune all >/dev/null 2>&1 if [ "$ARCH" != "i386" -a $? -ne 0 ] then VXLIST_PLUGIN_VERSION=41GA fi export VXLIST_PLUGIN_VERSION set_vxvm_version_conf $VXLIST_PLUGIN_VERSION schedule_restart_dcli elif [ "$vold_vrsn" = "20" ] then VXLIST_PLUGIN_VERSION=40 export VXLIST_PLUGIN_VERSION set_vxvm_version_conf 40 schedule_restart_dcli else VXLIST_PLUGIN_VERSION= export VXLIST_PLUGIN_VERSION set_vxvm_version_conf fi fi
else VXLIST_PLUGIN_VERSION=50 export VXLIST_PLUGIN_VERSION set_vxvm_version_conf 50 fi # check if vxdclid is already running $BINDIR/vxadm service status grep STOPPED >/dev/null 2>&1 if [ $? -eq 0 ] then rm -f $PIDFILE $BINDIR/vxdclid fi } already_running() { echo "ERROR: vxdclid already running" echo "check lock dir $DCLIRESTARTING" exit $1 } lock() { if [ -d $DCLIRESTARTING ] then already_running $1 fi if [ ! -d $DCLIRESTARTINGDIR ] then mkdir -p $DCLIRESTARTINGDIR fi mkdir $DCLIRESTARTING >/dev/null 2>&1 if [ $? -ne 0 ] then already_running $1 fi } unlock() { rm -rf $DCLIRESTARTING } trap "unlock; exit 0" 1 2 15 case "$1" in 'start') lock 1 start_vxdcli unlock ;; 'stop') lock 2 stop_vxdcli unlock ;;
'restart') lock 3 stop_vxdcli start_vxdcli unlock ;; 'status') if [ -d $DCLIRESTARTING ] then echo "RESTARTING" echo "check lock dir $DCLIRESTARTING" exit 0 fi $BINDIR/vxadm service status ;; *) echo "Usage: $progname { start exit 1 ;; esac exit 0 stop restart status }"