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) {
openSUSE Build Service is sponsored by