File pacemaker-pengine-fencing-logging.patch of Package pacemaker.14737
commit 990c99a639ec382582a1be8829ffecf52798622f
Author: Andrew Beekhof <andrew@beekhof.net>
Date: Thu May 25 14:30:06 2017 +1000
Fix: PE: Improved fencing logging
diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
index df9a133f4..8caf522ce 100644
--- a/lib/pengine/unpack.c
+++ b/lib/pengine/unpack.c
@@ -100,15 +100,16 @@ pe_fence_node(pe_working_set_t * data_set, node_t * node, const char *reason)
if (rsc && (!is_set(rsc->flags, pe_rsc_managed))) {
crm_notice("Not fencing node %s because connection is unmanaged, "
"otherwise would %s", node->details->uname, reason);
- } else {
+ } else if(node->details->remote_requires_reset == FALSE) {
+ node->details->remote_requires_reset = TRUE;
if (pe_can_fence(data_set, node)) {
crm_warn("Node %s will be fenced %s", node->details->uname, reason);
} else {
crm_warn("Node %s is unclean %s", node->details->uname, reason);
}
- node->details->remote_requires_reset = TRUE;
}
node->details->unclean = TRUE;
+
} else if (node->details->unclean == FALSE) {
if (pe_can_fence(data_set, node)) {
crm_warn("Node %s will be fenced %s", node->details->uname, reason);
@@ -116,8 +117,9 @@ pe_fence_node(pe_working_set_t * data_set, node_t * node, const char *reason)
crm_warn("Node %s is unclean %s", node->details->uname, reason);
}
node->details->unclean = TRUE;
+
} else {
- crm_trace("Huh? %s %s", node->details->uname, reason);
+ crm_trace("Node %s would also be fenced '%s'", node->details->uname, reason);
}
}
diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
index 3d4e60d35..7acd90c2d 100644
--- a/lib/pengine/utils.c
+++ b/lib/pengine/utils.c
@@ -515,8 +515,9 @@ custom_action(resource_t * rsc, char *key, const char *task,
do_crm_log(warn_level, "Action %s on %s is unrunnable (offline)",
action->uuid, action->node->details->uname);
if (is_set(action->rsc->flags, pe_rsc_managed)
- && save_action && a_task == stop_rsc) {
- pe_fence_node(data_set, action->node, "because node is unclean");
+ && save_action && a_task == stop_rsc
+ && action->node->details->unclean == FALSE) {
+ pe_fence_node(data_set, action->node, "because of unrunnable resource actions");
}
} else if (action->node->details->pending) {