diff --git a/heartbeat/SAPInstance b/heartbeat/SAPInstance index 510de7b..da394f5 100755 --- a/heartbeat/SAPInstance +++ b/heartbeat/SAPInstance @@ -856,7 +856,7 @@ sapinstance_notify() { # that is, when a slave resource was startet after the promote event of a already running master (e.g. node of slave was down) # We also have to make sure to overrule the globaly set resource_stickiness or any fail-count factors => INFINITY local n_uname="$OCF_RESKEY_CRM_meta_notify_demote_uname" - if [ ${n_uname} != ${HOSTNAME} ]; then + if [ ${n_uname} != ${NODENAME} ]; then ${HA_SBIN_DIR}/crm_master -v INFINITY -l reboot fi fi @@ -879,6 +879,7 @@ SAPCONTROL="" DIR_PROFILE="" SAPSTARTPROFILE="" CLONE=0 +NODENAME=$(ocf_local_nodename) if diff --git a/heartbeat/mysql b/heartbeat/mysql index c1c5573..f7eb9f2 100755 --- a/heartbeat/mysql +++ b/heartbeat/mysql @@ -137,8 +137,8 @@ MYSQL_OPTIONS_TEST="$MYSQL_OPTIONS_LOCAL --user=$OCF_RESKEY_test_user --password MYSQL_TOO_MANY_CONN_ERR=1040 CRM_MASTER="${HA_SBIN_DIR}/crm_master -l reboot " -HOSTNAME=`uname -n` -CRM_ATTR="${HA_SBIN_DIR}/crm_attribute -N $HOSTNAME " +NODENAME=$(ocf_local_nodename) +CRM_ATTR="${HA_SBIN_DIR}/crm_attribute -N $NODENAME " INSTANCE_ATTR_NAME=`echo ${OCF_RESOURCE_INSTANCE}| awk -F : '{print $1}'` CRM_ATTR_REPL_INFO="${HA_SBIN_DIR}/crm_attribute --type crm_config --name ${INSTANCE_ATTR_NAME}_REPL_INFO -s mysql_replication" @@ -998,7 +998,7 @@ mysql_start() { # node that is just joining the cluster, and the CRM may have # promoted a master before. master_host=`echo $OCF_RESKEY_CRM_meta_notify_master_uname|tr -d " "` - if [ "$master_host" -a "$master_host" != ${HOSTNAME} ]; then + if [ "$master_host" -a "$master_host" != ${NODENAME} ]; then ocf_log info "Changing MySQL configuration to replicate from $master_host." set_master start_slave @@ -1147,7 +1147,7 @@ mysql_notify() { # time to check whether our replication slave is working # correctly. master_host=`echo $OCF_RESKEY_CRM_meta_notify_promote_uname|tr -d " "` - if [ "$master_host" = ${HOSTNAME} ]; then + if [ "$master_host" = ${NODENAME} ]; then ocf_log info "This will be the new master, ignoring post-promote notification." else ocf_log info "Resetting replication" @@ -1172,7 +1172,7 @@ mysql_notify() { ;; 'pre-demote') demote_host=`echo $OCF_RESKEY_CRM_meta_notify_demote_uname|tr -d " "` - if [ $demote_host = ${HOSTNAME} ]; then + if [ $demote_host = ${NODENAME} ]; then ocf_log info "post-demote notification for $demote_host" set_read_only on if [ $? -ne 0 ]; then @@ -1199,7 +1199,7 @@ mysql_notify() { ;; 'post-demote') demote_host=`echo $OCF_RESKEY_CRM_meta_notify_demote_uname|tr -d " "` - if [ $demote_host = ${HOSTNAME} ]; then + if [ $demote_host = ${NODENAME} ]; then ocf_log info "Ignoring post-demote notification for my own demotion." return $OCF_SUCCESS fi diff --git a/heartbeat/ocf-shellfuncs.in b/heartbeat/ocf-shellfuncs.in index 35b0a5a..1406c80 100644 --- a/heartbeat/ocf-shellfuncs.in +++ b/heartbeat/ocf-shellfuncs.in @@ -513,6 +513,25 @@ ocf_version_cmp() { fi } +ocf_local_nodename() { + # use crm_node -n for pacemaker > 1.1.8 + which pacemakerd > /dev/null 2>&1 + if [ $? -eq 0 ]; then + local version=$(pacemakerd -$ | grep "Pacemaker .*" | awk '{ print $2 }') + ocf_version_cmp "$version" "1.1.8" + if [ $? -eq 2 ]; then + which crm_node > /dev/null 2>&1 + if [ $? -eq 0 ]; then + crm_node -n + return + fi + fi + fi + + # otherwise use uname -n + uname -n +} + # usage: dirname DIR dirname() { diff --git a/heartbeat/pgsql b/heartbeat/pgsql index 14fdfa6..b6b54b0 100755 --- a/heartbeat/pgsql +++ b/heartbeat/pgsql @@ -1734,7 +1734,7 @@ BACKUPLABEL=${OCF_RESKEY_pgdata}/backup_label RESOURCE_NAME=`echo $OCF_RESOURCE_INSTANCE | cut -d ":" -f 1` PGSQL_WAL_RECEIVER_STATUS_ATTR="${RESOURCE_NAME}-receiver-status" RECOVERY_CONF=${OCF_RESKEY_pgdata}/recovery.conf -NODENAME=`uname -n | tr '[A-Z]' '[a-z]'` +NODENAME=$(ocf_local_nodename | tr '[A-Z]' '[a-z]') if is_replication; then REP_MODE_CONF=${OCF_RESKEY_tmpdir}/rep_mode.conf