crm_debug("Executing: %s->%s (%s)",
crm_debug_2("Executing: %s->%s (%s)",
void native_create_actions(resource_t *rsc, pe_working_set_t *data_set){	action_t *start = NULL;	node_t *chosen = NULL;	enum rsc_role_e role = RSC_ROLE_UNKNOWN;	enum rsc_role_e next_role = RSC_ROLE_UNKNOWN;	if(rsc->color != NULL) {		chosen = rsc->color->details->chosen_node;	}	unpack_instance_attributes(		rsc->xml, XML_TAG_ATTR_SETS, chosen, rsc->parameters,		NULL, 0, data_set);	crm_debug("%s: %s->%s", rsc->id,		  role2text(rsc->role), role2text(rsc->next_role));		if(g_list_length(rsc->running_on) > 1) { 		if(rsc->recovery_type == recovery_stop_start) {			pe_err("Attempting recovery of resource %s", rsc->id);			StopRsc(rsc, NULL, data_set);			rsc->role = RSC_ROLE_STOPPED;		}			} else if(rsc->running_on != NULL) {		node_t *current = rsc->running_on->data;		NoRoleChange(rsc, current, chosen, data_set);	} else if(rsc->role == RSC_ROLE_STOPPED && rsc->next_role == RSC_ROLE_STOPPED) {		char *key = start_key(rsc);		GListPtr possible_matches = find_actions(rsc->actions, key, NULL);		slist_iter(			action, action_t, possible_matches, lpc,			action->optional = TRUE;/*			action->pseudo = TRUE; */			);		crm_debug_2("Stopping a stopped resource");		crm_free(key);		return;	} 	role = rsc->role;	while(role != rsc->next_role) {		next_role = rsc_state_matrix[role][rsc->next_role];		crm_debug("Executing: %s->%s (%s)",			  role2text(role), role2text(next_role), rsc->id);		if(rsc_action_matrix[role][next_role](			   rsc, chosen, data_set) == FALSE) {			break;		}		role = next_role;	}	if(rsc->next_role != RSC_ROLE_STOPPED && rsc->is_managed) {		start = start_action(rsc, chosen, TRUE);		create_recurring_actions(rsc, start, chosen, data_set);	}}