Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=98e... Commit: 98ef02f36056858f79abe05ae287681a377b16bc Parent: e790e4b988f7f12a327a020244c40b5bf1969f6d Author: Ryan O'Hara rohara@redhat.com AuthorDate: Mon Oct 12 09:30:08 2009 -0500 Committer: Ryan O'Hara rohara@redhat.com CommitterDate: Mon Oct 26 09:19:38 2009 -0500
CMAN: scsi_reserve init script correctly report failures
This patch adds the use of the 'failure' function to the common code (portions of script run for every operation) such that it correctly reports failures.
rhbz#530400 --- fence/agents/scsi/scsi_reserve | 63 +++++++++++++++++++++++++++++++-------- 1 files changed, 50 insertions(+), 13 deletions(-)
diff --git a/fence/agents/scsi/scsi_reserve b/fence/agents/scsi/scsi_reserve index 3662b02..2f10abc 100755 --- a/fence/agents/scsi/scsi_reserve +++ b/fence/agents/scsi/scsi_reserve @@ -8,17 +8,53 @@
. /etc/init.d/functions
+case $1 in + + start) + echo -n "Starting scsi_reserve:" + ;; + + stop) + echo -n "Stopping scsi_reserve:" + ;; + + restart) + echo -n "Restarting scsi_reserve:" + ;; + + status) + ;; + + *) + echo $"Usage: $0 {start|stop|restart|status}" + exit 1 + ;; + +esac + # read in config file if it exists # if [ -f /etc/sysconfig/scsi_reserve ] ; then . /etc/sysconfig/scsi_reserve fi
+# check for sg_persist command provided by sg3_utils package +# +if ! sg_persist -V &> /dev/null ; then + logger -t scsi_reserve \ + "[error] unable to exec sg_persist" + failure + echo + exit 1 +fi + # check if cluster is configured for fence_scsi # if ! fence_scsi_test -t fence ; then logger -t scsi_reserve \ "[error] cluster not configured for scsi reservations" + failure + echo exit 1 fi
@@ -27,14 +63,8 @@ fi if ! fence_scsi_test -t nodes ; then logger -t scsi_reserve \ "[error] cluster must define nodeid for all nodes" - exit 1 -fi - -# check for sg_persist command provided by sg3_utils package -# -if ! sg_persist -V &> /dev/null ; then - logger -t scsi_reserve \ - "[error] unable to exec sg_persist" + failure + echo exit 1 fi
@@ -43,6 +73,8 @@ fi if ! cman_tool status &> /dev/null ; then logger -t scsi_reserve \ "[error] cman does not appear to be running" + failure + echo exit 1 fi
@@ -56,6 +88,7 @@ pv_devices=$( vgs --noheadings --options vg_attr,pv_name \ if [ -z "$pv_devices" ] ; then logger -t scsi_reserve \ "[error] did not find devices in cluster volumes" + failure exit 1 fi
@@ -78,8 +111,9 @@ do dm_devices="$dm_devices $( ls /sys/block/${pv_dev:5}/slaves/ )" else logger -t scsi_reserve \ - "[error] $dev is not a multipath device" - exit 1 + "[error] $dev is not a multipath device" + failure + exit 1 fi else sg_devices="$sg_devices $pv_dev" @@ -99,6 +133,7 @@ cluster_id=$( cman_tool status | grep -i "Cluster ID" \ if [ -z "$cluster_id" ] ; then logger -s -t scsi_reserve \ "[error] unable to determine cluster id" + failure exit 1 fi
@@ -110,6 +145,7 @@ node_id=$( cman_tool status | grep -i "Node ID" \ if [ -z "$node_id" ] ; then logger -t scsi_reserve \ "[error] unable to determine node id" + failure exit 1 fi
@@ -120,6 +156,7 @@ key=$( printf "%x%.4x" $cluster_id $node_id ) if [ -z "$key" ] ; then logger -t scsi_reserve \ "[error] unable to generate key" + failure exit 1 fi
@@ -132,7 +169,7 @@ case $1 in error=0 count=0
- echo -n "Starting scsi_reserve:" + # echo -n "Starting scsi_reserve:"
for dev in $sg_devices do @@ -194,7 +231,7 @@ case $1 in error=0 count=0
- echo -n "Stopping scsi_reserve:" + # echo -n "Stopping scsi_reserve:"
for dev in $sg_devices do @@ -242,7 +279,7 @@ case $1 in error=0 count=0
- echo -n "Retarting scsi_reserve:" + # echo -n "Restarting scsi_reserve:"
for dev in $sg_devices do
cluster-commits@lists.stg.fedorahosted.org