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() { Manages two SAP HANA instances in system replication (SR). 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: Define SAPHana resource agent 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" @@ -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() { - 0.149.3 + 0.149.4 Analyzes SAP HANA System Replication Topology. 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 Define type of SAPHanaTopology RA messages to be printed 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"