File bug-918839_pacemaker-crm_mon-notify_node-2.patch of Package pacemaker.9287
commit 8b3ca1c8345b33e11f2e12ec75fecf0241265d88
Author: Gao,Yan <ygao@suse.com>
Date: Fri Feb 20 19:21:00 2015 +0100
Fix: crmd: Add "on_node" attribute for *_last_failure_0 lrm resource operations
Index: pacemaker/crmd/lrm.c
===================================================================
--- pacemaker.orig/crmd/lrm.c
+++ pacemaker/crmd/lrm.c
@@ -674,8 +674,7 @@ build_operation_update(xmlNode * parent,
}
target_rc = rsc_op_expected_rc(op);
- xml_op = create_operation_update(parent, op, caller_version, target_rc, src, LOG_DEBUG);
- crm_xml_add(xml_op, XML_LRM_ATTR_TARGET, fsa_our_uname); /* For context during triage */
+ xml_op = create_operation_update(parent, op, caller_version, target_rc, fsa_our_uname, src, LOG_DEBUG);
if (xml_op) {
append_restart_list(rsc, op, xml_op, caller_version);
Index: pacemaker/crmd/te_actions.c
===================================================================
--- pacemaker.orig/crmd/te_actions.c
+++ pacemaker/crmd/te_actions.c
@@ -328,8 +328,7 @@ cib_action_update(crm_action_t * action,
op->call_id = -1;
op->user_data = generate_transition_key(transition_graph->id, action->id, target_rc, te_uuid);
- xml_op = create_operation_update(rsc, op, CRM_FEATURE_SET, target_rc, __FUNCTION__, LOG_INFO);
- crm_xml_add(xml_op, XML_LRM_ATTR_TARGET, target); /* For context during triage */
+ xml_op = create_operation_update(rsc, op, CRM_FEATURE_SET, target_rc, target, __FUNCTION__, LOG_INFO);
lrmd_free_event(op);
crm_trace("Updating CIB with \"%s\" (%s): %s %s on %s",
Index: pacemaker/include/crm_internal.h
===================================================================
--- pacemaker.orig/include/crm_internal.h
+++ pacemaker/include/crm_internal.h
@@ -133,8 +133,8 @@ void filter_reload_parameters(xmlNode *
/* Resource operation updates */
xmlNode *create_operation_update(xmlNode * parent, lrmd_event_data_t * event,
- const char *caller_version, int target_rc, const char *origin,
- int level);
+ const char * caller_version, int target_rc, const char * node,
+ const char * origin, int level);
/* char2score */
extern int node_score_red;
Index: pacemaker/lib/common/utils.c
===================================================================
--- pacemaker.orig/lib/common/utils.c
+++ pacemaker/lib/common/utils.c
@@ -2133,8 +2133,8 @@ did_rsc_op_fail(lrmd_event_data_t * op,
}
xmlNode *
-create_operation_update(xmlNode * parent, lrmd_event_data_t * op, const char *caller_version,
- int target_rc, const char *origin, int level)
+create_operation_update(xmlNode * parent, lrmd_event_data_t * op, const char * caller_version,
+ int target_rc, const char * node, const char * origin, int level)
{
char *key = NULL;
char *magic = NULL;
@@ -2234,6 +2234,7 @@ create_operation_update(xmlNode * parent
crm_xml_add(xml_op, XML_ATTR_CRM_VERSION, caller_version);
crm_xml_add(xml_op, XML_ATTR_TRANSITION_KEY, op->user_data);
crm_xml_add(xml_op, XML_ATTR_TRANSITION_MAGIC, magic);
+ crm_xml_add(xml_op, XML_LRM_ATTR_TARGET, node); /* For context during triage */
crm_xml_add_int(xml_op, XML_LRM_ATTR_CALLID, op->call_id);
crm_xml_add_int(xml_op, XML_LRM_ATTR_RC, op->rc);
Index: pacemaker/tools/crm_simulate.c
===================================================================
--- pacemaker.orig/tools/crm_simulate.c
+++ pacemaker/tools/crm_simulate.c
@@ -317,7 +317,7 @@ create_op(xmlNode * cib_resource, const
static xmlNode *
inject_op(xmlNode * cib_resource, lrmd_event_data_t * op, int target_rc)
{
- return create_operation_update(cib_resource, op, CRM_FEATURE_SET, target_rc, crm_system_name,
+ return create_operation_update(cib_resource, op, CRM_FEATURE_SET, target_rc, NULL, crm_system_name,
LOG_DEBUG_2);
}