cluster: RHEL54 - CMAN: scsi_reserve init script correctly report failures
rohara
rohara at fedoraproject.org
Mon Oct 26 14:21:03 UTC 2009
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=98ef02f36056858f79abe05ae287681a377b16bc
Commit: 98ef02f36056858f79abe05ae287681a377b16bc
Parent: e790e4b988f7f12a327a020244c40b5bf1969f6d
Author: Ryan O'Hara <rohara at redhat.com>
AuthorDate: Mon Oct 12 09:30:08 2009 -0500
Committer: Ryan O'Hara <rohara at 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
More information about the cluster-commits
mailing list