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