Blob Blame History Raw
diff --git a/heartbeat/SAPHana b/heartbeat/SAPHana
index f4db17a..412152b 100644
--- a/heartbeat/SAPHana
+++ b/heartbeat/SAPHana
@@ -137,7 +137,7 @@ function saphana_meta_data() {
 <shortdesc lang="en">Manages two SAP HANA instances in system replication (SR).</shortdesc>
 <longdesc lang="en">
 The SAPHanaSR resource agent manages two SAP Hana instances (databases) which are configured
-in system replication. This first version is limitted to the scale-up scenario. Scale-Up is
+in system replication. This first version is limitted to the scale-up scenario. Scale-Out is
 not supported in this version.
 
 Managing the two SAP HANA instances means that the resource agent controls the start/stop of the
@@ -231,7 +231,9 @@ The resource agent uses the following four interfaces provided by SAP:
     <parameter name="SAPHanaFilter" unique="0" required="0">
         <shortdesc lang="en">Define SAPHana resource agent messages to be printed</shortdesc>
         <longdesc lang="en">Define SAPHana resource agent messages to be printed.
-        This parameter should only be set of been requested by SUSE support. The default is sufficient for normal operation.
+        This parameter should only be set if requested by support. The default is sufficient for normal operation.
+        Values: ra-act-lpa-dec-flow
+        You could specify any combination of the above values like "ra-act-flow"
         </longdesc>
         <content type="string" default="" />
     </parameter>
@@ -480,7 +482,7 @@ function get_crm_master()
 # globals:  sr_name(w), remoteHost(w), otherNodes(w) 
 # globals:  ATTR_NAME_HANA_SYNC_STATUS(w), ATTR_NAME_HANA_CLONE_STATE(w)
 # globals:  DIR_EXECUTABLE(w), SAPSTARTSRV(w), SAPCONTROL(w), DIR_PROFILE(w), SAPSTARTPROFILE(w), LD_LIBRARY_PATH(w), PATH(w)
-# globals:  LPA_DIRECTORY(w), SIDInstanceName(w), remoteNode(w)
+# globals:  LPA_DIRECTORY(w), SIDInstanceName(w), remoteNode(w), hdbSrQueryTimeout(w)
 # saphana_init : Define global variables with default values, if optional parameters are not set
 #
 function saphana_init() {
@@ -497,6 +499,8 @@ function saphana_init() {
     super_ocf_log debug "DBG: Used new method to get SID ($SID) and InstanceNr ($InstanceNr)"
     sid=$(echo "$SID" | tr [:upper:] [:lower:])
     sidadm="${sid}adm"
+    # TODO PRIO3: Do we need a parameter for the RA to be able to adjust hdbSrQueryTimeout?
+    hdbSrQueryTimeout=180
     # DONE: PRIO4: SAPVIRHOST might be different to NODENAME
     # DONE: PRIO1: ASK: Is the output format of ListInstances fix? Could we take that as an API? Answer: Yes
     # try to catch:  Inst Info : LNX - 42 - lv9041 - 740, patch 36, changelist 1444691
@@ -827,7 +831,7 @@ function analyze_hana_sync_status()
         super_ocf_log err  "ACT: Secure store users are missing (see best practice manual how to setup the users)"
         rc=$OCF_ERR_CONFIGURED
     fi
-    hana_sync_status=$(timeout 60 $DIR_EXECUTABLE/hdbsql -a -x -U $secUser  $query_state); sqlrc=$?
+    hana_sync_status=$(timeout $hdbSrQueryTimeout $DIR_EXECUTABLE/hdbsql -a -x -U $secUser  $query_state); sqlrc=$?
     hana_sync_status=$(echo $hana_sync_status | dequote)
     super_ocf_log debug "DBG: hdbsql rc=$sqlrc hana_sync_status=\"$hana_sync_status\""
     if [ "$sqlrc" -eq 0 -a "$hana_sync_status" != "" ]; then
@@ -846,10 +850,10 @@ function analyze_hana_sync_status()
         #    TODO: PRIO9: for first we assume there is only ONE secondary site (like ROT)
         #    TODO: PRIO3: should we loop over all cluster nodes fetching their roles-attribute? To minimize sql-queries?
         #
-        all_secondary_hosts=$(timeout 60 hdbsql -a -x -U $secUser $query_secondaries ); sqlrc=$?
+        all_secondary_hosts=$(timeout $hdbSrQueryTimeout hdbsql -a -x -U $secUser $query_secondaries ); sqlrc=$?
         all_secondary_hosts=$(echo $all_secondary_hosts | dequote);
         if [ "$sqlrc" -eq 0 ]; then
-            all_broken_secondary_hosts=$(timeout 60 hdbsql -a -x -U $secUser $query_failed_secondaries); sqlrc=$?
+            all_broken_secondary_hosts=$(timeout $hdbSrQueryTimeout hdbsql -a -x -U $secUser $query_failed_secondaries); sqlrc=$?
             all_broken_secondary_hosts=$(echo $all_broken_secondary_hosts | dequote);
             if  [ "$sqlrc" -eq 0 ]; then                 
                  if [ -n "$all_broken_secondary_hosts" ]; then
@@ -869,9 +873,9 @@ function analyze_hana_sync_status()
             fi
         fi                  
     else
-        # return codes 19: license error -> set SFAIL!
         case "$sqlrc" in
             19 ) 
+                # return codes 19: license error -> set SFAIL!
                 # DONE: PRIO1: We should NOT set SFAIL, if HDB is exactly broken now
                 #       When HDB breaks during monitor this could prevent a prositive remote failover
                 super_ocf_log warn "ACT: Was not able to fetch HANA SYNC STATUS - set sync status to SFAIL for ALL OTHER cluster hosts"
diff --git a/heartbeat/SAPHanaTopology b/heartbeat/SAPHanaTopology
index 19fbbb4..082ad29 100644
--- a/heartbeat/SAPHanaTopology
+++ b/heartbeat/SAPHanaTopology
@@ -123,7 +123,7 @@ function sht_meta_data() {
 <?xml version="1.0"?>
 <!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
 <resource-agent name="SAPHanaTopology">
-    <version>0.149.3</version>
+    <version>0.149.4</version>
     <shortdesc lang="en">Analyzes SAP HANA System Replication Topology.</shortdesc>
     <longdesc lang="en">This RA analyzes the SAP HANA topology and "sends" all findings via the node status attributes to
         all nodes in the cluster. These attributes are taken by the SAPHana RA to control the SAP Hana Databases.
@@ -172,7 +172,7 @@ SAPHanaTopology scans the output table of landscapeHostConfiguration.py to ident
         <shortdesc lang="en">Define type of SAPHanaTopology RA messages to be printed</shortdesc>
         <longdesc lang="en">Define type of SAPHanaTopology RA messages to be printed. 
 Define SAPHana resource agent messages to be printed.
-        This parameter should only be set of been requested by SUSE support. The default is sufficient for normal operation.
+        This parameter should only be set if requested by support. The default is sufficient for normal operation.
         Values: ra-act-lpa-dec-flow
         You could specify any combination of the above values like "ra-act-flow"
         </longdesc>