Blame SOURCES/bz720543-pcmk-crmd_don_t_add_node_state_to_cib_if_we_have_not_seen_or_fenced_this_node_yet.patch
|
|
ed0026 |
commit e03e4f32fca5857618603e3e1c9500dbf3d348ef
|
|
|
ed0026 |
Author: Lars Ellenberg <lars.ellenberg@linbit.com>
|
|
|
ed0026 |
Date: Fri Aug 2 14:33:57 2013 +1000
|
|
|
ed0026 |
|
|
|
ed0026 |
Fix: crmd: Don't add node_state to cib, if we have not seen or fenced this node yet
|
|
|
ed0026 |
|
|
|
ed0026 |
Also fixes the incredibly dangerous option: startup-fencing=false
|
|
|
ed0026 |
|
|
|
ed0026 |
(cherry picked from commit ac7aa1c94f317fc1d4024fbc09b012bc9f1b229e)
|
|
|
ed0026 |
|
|
|
ed0026 |
diff --git a/crmd/membership.c b/crmd/membership.c
|
|
|
ed0026 |
index e2bcd45..d102db0 100644
|
|
|
ed0026 |
--- a/crmd/membership.c
|
|
|
ed0026 |
+++ b/crmd/membership.c
|
|
|
ed0026 |
@@ -131,8 +131,14 @@ xmlNode *
|
|
|
ed0026 |
do_update_node_cib(crm_node_t * node, int flags, xmlNode * parent, const char *source)
|
|
|
ed0026 |
{
|
|
|
ed0026 |
const char *value = NULL;
|
|
|
ed0026 |
- xmlNode *node_state = create_xml_node(parent, XML_CIB_TAG_STATE);
|
|
|
ed0026 |
+ xmlNode *node_state;
|
|
|
ed0026 |
|
|
|
ed0026 |
+ if (!node->state) {
|
|
|
ed0026 |
+ crm_info("Node update for %s cancelled: no state, not seen yet", node->uname);
|
|
|
ed0026 |
+ return NULL;
|
|
|
ed0026 |
+ }
|
|
|
ed0026 |
+
|
|
|
ed0026 |
+ node_state = create_xml_node(parent, XML_CIB_TAG_STATE);
|
|
|
ed0026 |
set_uuid(node_state, XML_ATTR_UUID, node);
|
|
|
ed0026 |
|
|
|
ed0026 |
if (crm_element_value(node_state, XML_ATTR_UUID) == NULL) {
|