* [Cluster-devel] Cluster Project branch, RHEL5, updated. cmirror_1_1_15-29-gfb8ff41
@ 2008-04-01 21:56 jbrassow
0 siblings, 0 replies; only message in thread
From: jbrassow @ 2008-04-01 21:56 UTC (permalink / raw)
To: cluster-devel.redhat.com
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".
http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=fb8ff413588b1404d99b78adf30987beaea9db32
The branch, RHEL5 has been updated
via fb8ff413588b1404d99b78adf30987beaea9db32 (commit)
from 3183d505bd43e6d981686b86e97e92eea0f85341 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fb8ff413588b1404d99b78adf30987beaea9db32
Author: Jonathan Brassow <jbrassow@redhat.com>
Date: Tue Apr 1 16:18:52 2008 -0500
rgmanager/lvm.sh: Fix bug bz242798
Allow a machine to fence itself in the event that it
cannot deactivate logical volumes. (The user must
explicitly enable this option.) This is useful in cases
where one machine in the cluster looses connectivity to
its resources, but the others don't. The machine fences
itself and the service moves to another machine.
-----------------------------------------------------------------------
Summary of changes:
rgmanager/src/resources/lvm.metadata | 13 ++++++++++++-
rgmanager/src/resources/lvm_by_lv.sh | 15 ++++++++++++++-
rgmanager/src/resources/lvm_by_vg.sh | 17 +++++++++++++++--
3 files changed, 41 insertions(+), 4 deletions(-)
diff --git a/rgmanager/src/resources/lvm.metadata b/rgmanager/src/resources/lvm.metadata
index 03a5655..650675b 100755
--- a/rgmanager/src/resources/lvm.metadata
+++ b/rgmanager/src/resources/lvm.metadata
@@ -39,7 +39,18 @@
If you can see this, your GUI is broken.
</shortdesc>
<content type="string"/>
- </parameter>
+ </parameter>
+
+ <parameter name="self_fence">
+ <longdesc lang="en">
+ If set and the clean up of the tags fails, the node will
+ immediately reboot.
+ </longdesc>
+ <shortdesc lang="en">
+ Fence the node if it is not able to clean up LVM tags
+ </shortdesc>
+ <content type="boolean"/>
+ </parameter>
<parameter name="nfslock" inherit="service%nfslock">
<longdesc lang="en">
diff --git a/rgmanager/src/resources/lvm_by_lv.sh b/rgmanager/src/resources/lvm_by_lv.sh
index e14540f..6691181 100644
--- a/rgmanager/src/resources/lvm_by_lv.sh
+++ b/rgmanager/src/resources/lvm_by_lv.sh
@@ -173,6 +173,13 @@ lv_activate_and_tag()
declare action=$1
declare tag=$2
declare lv_path=$3
+ typeset self_fence=""
+
+ case ${OCF_RESKEY_self_fence} in
+ "yes") self_fence=1 ;;
+ 1) self_fence=1 ;;
+ *) self_fence="" ;;
+ esac
if [ -z $action ] || [ -z $tag ] || [ -z $lv_path ]; then
ocf_log err "Supplied args: 1) $action, 2) $tag, 3) $lv_path"
@@ -194,7 +201,13 @@ lv_activate_and_tag()
else
ocf_log notice "Deactivating $lv_path"
if ! lv_activate_resilient $action $lv_path; then
- ocf_log err "Unable to deactivate $lv_path"
+ if [ "$self_fence" ]; then
+ ocf_log err "Unable to deactivate $lv_path: REBOOTING"
+ sync
+ reboot -fn
+ else
+ ocf_log err "Unable to deactivate $lv_path"
+ fi
return $OCF_ERR_GENERIC
fi
diff --git a/rgmanager/src/resources/lvm_by_vg.sh b/rgmanager/src/resources/lvm_by_vg.sh
index b1840a1..8fa36d6 100755
--- a/rgmanager/src/resources/lvm_by_vg.sh
+++ b/rgmanager/src/resources/lvm_by_vg.sh
@@ -242,17 +242,30 @@ function vg_stop
{
local a
local results
+ typeset self_fence=""
+
+ case ${OCF_RESKEY_self_fence} in
+ "yes") self_fence=1 ;;
+ 1) self_fence=1 ;;
+ *) self_fence="" ;;
+ esac
# Shut down the volume group
# Do we need to make this resilient?
vgchange -an $OCF_RESKEY_vg_name
# Make sure all the logical volumes are inactive
- results=(`lvs -o name,attr --noheadings 2> /dev/null $OCF_RESKEY_vg_name`)
+ results=(`lvs -o name,attr --noheadings $OCF_RESKEY_vg_name 2> /dev/null`)
a=0
while [ ! -z ${results[$a]} ]; do
if [[ ${results[$(($a + 1))]} =~ ....a. ]]; then
- ocf_log err "Logical volume $OCF_RESKEY_vg_name/${results[$a]} failed to shutdown"
+ if [ "$self_fence" ]; then
+ ocf_log err "Unable to deactivate $lv_path REBOOT"
+ sync
+ reboot -fn
+ else
+ ocf_log err "Logical volume $OCF_RESKEY_vg_name/${results[$a]} failed to shutdown"
+ fi
return $OCF_ERR_GENERIC
fi
a=$(($a + 2))
hooks/post-receive
--
Cluster Project
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2008-04-01 21:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-01 21:56 [Cluster-devel] Cluster Project branch, RHEL5, updated. cmirror_1_1_15-29-gfb8ff41 jbrassow
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.