set_xml_property_copy( action_xml, "allow_fail",
crm_xml_add(action_xml, "allow_fail",
action2xml(action_t *action, gboolean as_input){	gboolean needs_node_info = TRUE;	crm_data_t * action_xml = NULL;	crm_data_t * args_xml = NULL;	char *action_id_s = NULL;		if(action == NULL) {		return NULL;	}	crm_debug_4("Dumping action %d as XML", action->id);	if(safe_str_eq(action->task, CRM_OP_FENCE)) {		action_xml = create_xml_node(NULL, XML_GRAPH_TAG_CRM_EVENT);		needs_node_info = FALSE;			} else if(safe_str_eq(action->task, CRM_OP_SHUTDOWN)) {		action_xml = create_xml_node(NULL, XML_GRAPH_TAG_CRM_EVENT);	} else if(action->pseudo) {		action_xml = create_xml_node(NULL, XML_GRAPH_TAG_PSEUDO_EVENT);		needs_node_info = FALSE;	} else {		action_xml = create_xml_node(NULL, XML_GRAPH_TAG_RSC_OP);	}	action_id_s = crm_itoa(action->id);	set_xml_property_copy(action_xml, XML_ATTR_ID, action_id_s);	crm_free(action_id_s);		if(action->rsc != NULL) {		set_xml_property_copy(			action_xml, XML_LRM_ATTR_RSCID, action->rsc->id);	}	set_xml_property_copy(action_xml, XML_LRM_ATTR_TASK, action->task);	if(needs_node_info && action->node != NULL) {		set_xml_property_copy(			action_xml, XML_LRM_ATTR_TARGET,			action->node->details->uname);		set_xml_property_copy(			action_xml, XML_LRM_ATTR_TARGET_UUID,			action->node->details->id);				CRM_DEV_ASSERT(NULL != crm_element_value(				       action_xml, XML_LRM_ATTR_TARGET));				CRM_DEV_ASSERT(NULL != crm_element_value(				       action_xml, XML_LRM_ATTR_TARGET_UUID));	}	set_xml_property_copy(		action_xml, "allow_fail",		action->failure_is_fatal?XML_BOOLEAN_FALSE:XML_BOOLEAN_TRUE);		if(as_input) {		return action_xml;	}	if(action->rsc != NULL && action->pseudo == FALSE) {		crm_data_t *rsc_xml = create_xml_node(			action_xml, crm_element_name(action->rsc->xml));		copy_in_properties(rsc_xml, action->rsc->xml);		args_xml = create_xml_node(action_xml, XML_TAG_ATTRS);		g_hash_table_foreach(action->extra, hash2nvpair, args_xml);				g_hash_table_foreach(			action->rsc->parameters, hash2nvpair, args_xml);	} else {		args_xml = create_xml_node(action_xml, XML_TAG_ATTRS);		g_hash_table_foreach(action->extra, hash2nvpair, args_xml);	}			crm_log_xml_debug_2(action_xml, "dumped action");		return action_xml;}