File bug-917625_pacemaker-crmd-cached-copies-of-transient-attributes-cease-to-be-valid.patch of Package pacemaker.9287
From 5cb541fb0d34b1d224debb222ade51178a9eb5ba Mon Sep 17 00:00:00 2001
From: Andrew Beekhof <andrew@beekhof.net>
Date: Thu, 26 Mar 2015 10:44:05 +1100
Subject: [PATCH] Fix: crmd: Cached copies of transient attributes cease to be
valid once a node leaves the membership
Previously we removed them when the node came back.
Why we did this is unclear, possibly we just pattern matched on the
places that removed the lrmd status (which does need to persist until
either the node is fenced because it had active resources or returns
healthy).
---
crmd/callbacks.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/crmd/callbacks.c b/crmd/callbacks.c
index eae222324b..b445dd8e9e 100644
--- a/crmd/callbacks.c
+++ b/crmd/callbacks.c
@@ -178,9 +178,11 @@ peer_update_callback(enum crm_status_type type, crm_node_t * node, const void *d
/* Did the DC leave us? */
crm_notice("Our peer on the DC (%s) is dead", fsa_our_dc);
register_fsa_input(C_CRMD_STATUS_CALLBACK, I_ELECTION, NULL);
+ erase_status_tag(node->uname, XML_TAG_TRANSIENT_NODEATTRS, cib_scope_local);
} else if(AM_I_DC && appeared == FALSE) {
crm_info("Peer %s left us", node->uname);
+ erase_status_tag(node->uname, XML_TAG_TRANSIENT_NODEATTRS, cib_scope_local);
/* crm_update_peer_join(__FUNCTION__, node, crm_join_none); */
}
break;