cluster: STABLE3 - resource-agents: Add status_program attribute
Lon Hohberger
lon at fedoraproject.org
Wed May 5 15:27:29 UTC 2010
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=33e3e8811ce60e4b3f105addde902d8008c25fe3
Commit: 33e3e8811ce60e4b3f105addde902d8008c25fe3
Parent: a72b410fb79436e46b67a60eb610f797fbadb538
Author: Lon Hohberger <lhh at redhat.com>
AuthorDate: Tue May 4 17:54:15 2010 -0400
Committer: Lon Hohberger <lhh at redhat.com>
CommitterDate: Wed May 5 11:24:22 2010 -0400
resource-agents: Add status_program attribute
Resolves: bz583789
Signed-off-by: Lon Hohberger <lhh at redhat.com>
---
rgmanager/src/resources/vm.sh | 33 ++++++++++++++++++++++++++++++++-
1 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/rgmanager/src/resources/vm.sh b/rgmanager/src/resources/vm.sh
index 35de1d8..3501071 100644
--- a/rgmanager/src/resources/vm.sh
+++ b/rgmanager/src/resources/vm.sh
@@ -213,6 +213,20 @@ meta_data()
<content type="string" default="0"/>
</parameter>
+ <parameter name="status_program" reconfig="1">
+ <longdesc lang="en">
+ Ordinarily, only the presence/health of a virtual machine
+ is checked. If specified, the status_program value is
+ executed during a depth 10 check. The intent of this
+ program is to ascertain the status of critical services
+ within a virtual machine.
+ </longdesc>
+ <shortdesc lang="en">
+ Additional status check program
+ </shortdesc>
+ <content type="string" default="0"/>
+ </parameter>
+
<parameter name="hypervisor">
<shortdesc lang="en">
Hypervisor
@@ -255,6 +269,10 @@ meta_data()
<action name="status" timeout="10" interval="30"/>
<action name="monitor" timeout="10" interval="30"/>
+ <!-- depth 10 calls the status_program -->
+ <action name="status" depth="10" timeout="10" interval="300"/>
+ <action name="monitor" depth="10" timeout="10" interval="300"/>
+
<!-- reconfigure - reconfigure with new OCF parameters.
NOT OCF COMPATIBLE AT ALL -->
<action name="reconfig" timeout="10"/>
@@ -543,7 +561,11 @@ virsh_status()
return 0
fi
- return 1
+ if [ "$state" = "shut off" ]; then
+ return $OCF_NOT_RUNNING
+ fi
+
+ return $OCF_ERR_GENERIC
}
@@ -920,6 +942,15 @@ case $1 in
validate_all || exit $OCF_ERR_ARGS
echo -n "Virtual machine $OCF_RESKEY_name is "
do_status
+ rv=$?
+ if [ $rv -ne 0 ]; then
+ exit $rv
+ fi
+ [ -z "$OCF_RESKEY_status_program" ] && exit 0
+ [ -z "$OCF_CHECK_LEVEL" ] && exit 0
+ [ $OCF_CHECK_LEVEL -lt 10 ] && exit 0
+
+ bash -c "$OCF_RESKEY_status_program" &> /dev/null
exit $?
;;
migrate)
More information about the cluster-commits
mailing list