# 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/

Reply via email to