53 lines
2.0 KiB
Diff
53 lines
2.0 KiB
Diff
|
--- a/heartbeat/ocf-shellfuncs.in 2020-06-16 10:47:54.462276461 +0200
|
||
|
+++ b/heartbeat/ocf-shellfuncs.in 2020-06-16 10:43:36.880739016 +0200
|
||
|
@@ -563,7 +563,7 @@
|
||
|
# (master/slave) resource. This is defined as a resource where the
|
||
|
# master-max meta attribute is present, and set to greater than zero.
|
||
|
ocf_is_ms() {
|
||
|
- [ ! -z "${OCF_RESKEY_CRM_meta_master_max}" ] && [ "${OCF_RESKEY_CRM_meta_master_max}" -gt 0 ]
|
||
|
+ [ "${OCF_RESKEY_CRM_meta_promotable}" = "true" ] || { [ ! -z "${OCF_RESKEY_CRM_meta_master_max}" ] && [ "${OCF_RESKEY_CRM_meta_master_max}" -gt 0 ]; }
|
||
|
}
|
||
|
|
||
|
# version check functions
|
||
|
--- a/heartbeat/pgsql 2020-06-16 10:47:54.474276441 +0200
|
||
|
+++ b/heartbeat/pgsql 2020-06-16 10:49:02.835159083 +0200
|
||
|
@@ -1021,7 +1021,7 @@
|
||
|
|
||
|
# I can't get master node name from $OCF_RESKEY_CRM_meta_notify_master_uname on monitor,
|
||
|
# so I will get master node name using crm_mon -n
|
||
|
- print_crm_mon | tr -d "\t" | tr -d " " | grep -q "^${RESOURCE_NAME}[(:].*[):].*Master"
|
||
|
+ print_crm_mon | grep -q -i -E "<resource id=\"${RESOURCE_NAME}\" .* role=\"(Promoted|Master)\""
|
||
|
if [ $? -ne 0 ] ; then
|
||
|
# If I am Slave and Master is not exist
|
||
|
ocf_log info "Master does not exist."
|
||
|
@@ -1784,11 +1784,11 @@
|
||
|
}
|
||
|
|
||
|
is_node_online() {
|
||
|
- print_crm_mon | tr '[A-Z]' '[a-z]' | grep -e "^node $1 " -e "^node $1:" | grep -q -v "offline"
|
||
|
+ print_crm_mon | grep -q -i "<node name=\"$1\" .* online=\"true\""
|
||
|
}
|
||
|
|
||
|
node_exist() {
|
||
|
- print_crm_mon | tr '[A-Z]' '[a-z]' | grep -q "^node $1"
|
||
|
+ print_crm_mon | grep -q -i "<node name=\"$1\" .* online"
|
||
|
}
|
||
|
|
||
|
check_binary2() {
|
||
|
@@ -2070,7 +2070,14 @@
|
||
|
|
||
|
print_crm_mon() {
|
||
|
if [ -z "$CRM_MON_OUTPUT" ]; then
|
||
|
- CRM_MON_OUTPUT=`exec_with_retry 0 crm_mon -n1`
|
||
|
+ ocf_version_cmp "$OCF_RESKEY_crm_feature_set" "3.1.0"
|
||
|
+ res=$?
|
||
|
+ if [ -z "$OCF_RESKEY_crm_feature_set" ] || [ $res -eq 2 ]; then
|
||
|
+ XMLOPT="--output-as=xml"
|
||
|
+ else
|
||
|
+ XMLOPT="--as-xml"
|
||
|
+ fi
|
||
|
+ CRM_MON_OUTPUT=`exec_with_retry 0 crm_mon -1 $XMLOPT`
|
||
|
fi
|
||
|
printf "${CRM_MON_OUTPUT}\n"
|
||
|
}
|