cluster: RHEL55 - CMAN: scsi_reserve init script correctly report failures
rohara
rohara at fedoraproject.org
Mon Oct 12 14:33:04 UTC 2009
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=c4dbd04e08080515c797258f561453acc4bbefb8
Commit: c4dbd04e08080515c797258f561453acc4bbefb8
Parent: 39fd1b540bb06be1607d4fcd044b5e37abb2daba
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 12 09:30:08 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#514260
---
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