crm_debug_2("Adding runtime node attrs");
crm_debug_3("Adding runtime node attrs");
unpack_status(crm_data_t * status,	      GListPtr nodes, GListPtr rsc_list,	      GListPtr *actions, GListPtr *placement_constraints){	const char *uname     = NULL;	crm_data_t * lrm_rsc    = NULL;	crm_data_t * lrm_agents = NULL;	crm_data_t * attrs      = NULL;	node_t    *this_node  = NULL;		crm_debug_2("Begining unpack");	xml_child_iter(		status, node_state, XML_CIB_TAG_STATE,/*		id         = crm_element_value(node_state, XML_ATTR_ID); */		uname = crm_element_value(node_state,    XML_ATTR_UNAME);		attrs = find_xml_node(node_state, XML_LRM_TAG_ATTRIBUTES,FALSE);		lrm_rsc    = find_xml_node(node_state, XML_CIB_TAG_LRM, FALSE);		lrm_agents = find_xml_node(lrm_rsc, XML_LRM_TAG_AGENTS, FALSE);		lrm_rsc = find_xml_node(lrm_rsc, XML_LRM_TAG_RESOURCES, FALSE);		crm_debug_2("Processing node %s", uname);		this_node = pe_find_node(nodes, uname);		if(uname == NULL) {			/* error */			continue;		} else if(this_node == NULL) {			pe_warn("Node %s in status section no longer exists",				uname);			continue;		}		/* Mark the node as provisionally clean		 * - at least we have seen it in the current cluster's lifetime		 */		this_node->details->unclean = FALSE;				crm_debug_2("Adding runtime node attrs");		add_node_attrs(node_state, this_node);		crm_debug_2("determining node state");		determine_online_status(node_state, this_node);		if(this_node->details->online || stonith_enabled) {			/* offline nodes run no resources...			 * unless stonith is enabled in which case we need to			 *   make sure rsc start events happen after the stonith			 */			crm_debug_2("Processing lrm resource entries");			unpack_lrm_rsc_state(				this_node, lrm_rsc, rsc_list, nodes,				actions, placement_constraints);		}				);	return TRUE;	}