# HG changeset patch
# User Tim Serong <[email protected]>
# Date 1269863423 -39600
# Node ID 3b7679242743798c5bac068600f978173274b05a
# Parent 000dd8956ad791c37b6080020999cac993400228
High: SAPInstance RA: don't rely on op target rc when monitoring clones
(lf#2371)
diff -r 000dd8956ad7 -r 3b7679242743 heartbeat/SAPInstance
--- a/heartbeat/SAPInstance Mon Mar 29 09:54:21 2010 +0200
+++ b/heartbeat/SAPInstance Mon Mar 29 22:50:23 2010 +1100
@@ -67,7 +67,7 @@
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="SAPInstance">
-<version>2.01</version>
+<version>2.01a</version>
<longdesc lang="en">
Resource script for SAP. It manages a SAP Instance as an HA resource.
@@ -623,22 +623,19 @@
# sapinstance_monitor_clone
#
sapinstance_monitor_clone() {
- # resource agents running in Master mode must return other returncodes than
default
- if [ "$OCF_RESKEY_CRM_meta_op_target_rc" -eq $OCF_RUNNING_MASTER ]
- then
- sapinstance_init $OCF_RESKEY_InstanceName
- sapinstance_monitor
- case "$?" in
- $OCF_SUCCESS) return $OCF_RUNNING_MASTER;;
- $OCF_NOT_RUNNING) ${HA_SBIN_DIR}/crm_master -v 10 -l reboot
- return $OCF_FAILED_MASTER;;
- *) return $?;;
- esac
- else
- sapinstance_init $OCF_RESKEY_ERS_InstanceName
- sapinstance_monitor
- return $?
- fi
+ # Check status of potential master first
+ sapinstance_init $OCF_RESKEY_InstanceName
+ sapinstance_monitor
+ rc=$?
+ [ $rc -eq $OCF_SUCCESS ] && return $OCF_RUNNING_MASTER
+ [ $rc -ne $OCF_NOT_RUNNING ] && return $rc
+
+ # The master isn't running, and there were no errors, try ERS
+ sapinstance_init $OCF_RESKEY_ERS_InstanceName
+ sapinstance_monitor
+ rc=$?
+
+ return $rc
}
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/