crm_debug_3("Not creating recurring actions for %s: %p (%d)", rsc->id, start, start?start->runnable:0);
crm_err("Not creating recurring actions for %s: %p (%d)", rsc->id, start, start?start->runnable:0);
void native_create_actions(resource_t *rsc, pe_working_set_t *data_set){	action_t *start = NULL;	action_t *stop = NULL;	node_t *chosen = NULL;	native_variant_data_t *native_data = NULL;	get_native_variant_data(native_data, rsc);	if(native_data->color != NULL) {		chosen = native_data->color->details->chosen_node;	}	if(chosen != NULL && g_list_length(native_data->running_on) == 0) {		start = start_action(rsc, chosen, TRUE);		if(start->runnable) {			crm_info("Start resource %s\t(%s)",				 rsc->id, chosen->details->uname);			start->optional = FALSE;			start->rsc->start_pending = TRUE;		}					} else if(g_list_length(native_data->running_on) > 1) {		pe_err("Attempting recovery of resource %s", rsc->id);				if(rsc->recovery_type == recovery_stop_start		   || rsc->recovery_type == recovery_stop_only) {			slist_iter(				node, node_t,				native_data->running_on, lpc,								crm_info("Stop  resource %s\t(%s) (recovery)",					 rsc->id, node->details->uname);				stop = stop_action(rsc, node, FALSE);				);		}				if(rsc->recovery_type == recovery_stop_start && chosen) {			/* if one of the "stops" is for a node outside			 * our partition, then this will block anyway			 */			start = start_action(rsc, chosen, FALSE);			if(start->runnable) {				crm_info("Recover resource %s\t(%s)",					 rsc->id, chosen->details->uname);			}						/* make the restart required */			order_stop_start(rsc, rsc, pe_ordering_manditory);		}		if(rsc->recovery_type == recovery_block) {			pe_warn("RESOURCE %s WILL REMAIN ACTIVE ON MULTIPLE"				 " NODES PENDING MANUAL INTERVENTION", rsc->id);						slist_iter(				node, node_t, native_data->running_on, lpc,				pe_warn("Resource %s active on %s",					 rsc->id, node->details->uname);				);		}			} else if(g_list_length(native_data->running_on) == 1) {		node_t *node = native_data->running_on->data;				crm_debug_2("Stop%s of %s", chosen?" and restart":"", rsc->id);		CRM_DEV_ASSERT(node != NULL);		if(chosen == NULL) {			crm_info("Stop  resource %s\t(%s)",				 rsc->id, node->details->uname);			stop_action(rsc, node, FALSE);		} else if(safe_str_eq(node->details->id, chosen->details->id)) {			stop = stop_action(rsc, node, TRUE);			start = start_action(rsc, chosen, TRUE);			if(start->runnable == FALSE) {				crm_info("Stop  resource %s\t(%s)",					 rsc->id, node->details->uname);				stop->optional = FALSE;			} else if(rsc->recover) {				crm_info("Restart resource %s\t(%s)",					 rsc->id, node->details->uname);				/* make the restart required */				order_stop_start(rsc, rsc, pe_ordering_manditory);				start->optional = FALSE;				stop->optional = FALSE;			} else {				crm_info("Leave resource %s\t(%s)",					 rsc->id, node->details->uname);				if(stop->optional == FALSE) { 					start->optional = FALSE;				} else if(rsc->start_pending) {  					start->optional = FALSE; 				}			}					} else {			/* move */			stop = stop_action(rsc, node, FALSE);			start = start_action(rsc, chosen, FALSE);			if(start->runnable) {				crm_info("Move  resource %s\t(%s -> %s)", rsc->id,					 node->details->uname,					 chosen->details->uname);			} else {				crm_info("Stop  resource %s\t(%s)", rsc->id,					 node->details->uname);			}						/* make the restart required */			order_stop_start(rsc, rsc, pe_ordering_manditory);					}	}		if(start != NULL && start->runnable) {		create_recurring_actions(rsc, start, chosen, data_set);	} else {		crm_debug_3("Not creating recurring actions for %s: %p (%d)",			    rsc->id, start, start?start->runnable:0);	}}