if(data_set->remove_on_stop) { delete = delete_action(rsc, current); custom_action_order( rsc, NULL, stop, rsc, NULL, delete, pe_ordering_manditory, data_set); }
NoRoleChange(resource_t *rsc, node_t *current, node_t *next, pe_working_set_t *data_set){	action_t *start = NULL;	action_t *stop = NULL;	crm_debug("Executing: %s", rsc->id);	if(current == NULL || next == NULL) {		return;	}	if(safe_str_neq(current->details->id, next->details->id)) {		crm_info("Move  resource %s\t(%s -> %s)", rsc->id,			 current->details->uname,			 next->details->uname);		stop = stop_action(rsc, current, FALSE);		start = start_action(rsc, next, FALSE);			} else {		if(rsc->state == rsc_state_failed) {			crm_info("Recover resource %s\t(%s)",				 rsc->id, next->details->uname);			stop = stop_action(rsc, current, FALSE);			start = start_action(rsc, next, FALSE);/* 			/\* make the restart required *\/ *//* 			order_stop_start(rsc, rsc, pe_ordering_manditory); */					} else if(rsc->state == rsc_state_starting) {			start = start_action(rsc, next, TRUE);			if(start->runnable) {				/* wait for StartRsc() to be called */				rsc->role = RSC_ROLE_STOPPED;			} else {				/* wait for StopRsc() to be called */				rsc->next_role = RSC_ROLE_STOPPED;			}					} else {			crm_info("Leave resource %s\t(%s)",				 rsc->id, next->details->uname);			stop = stop_action(rsc, current, TRUE);			start = start_action(rsc, next, TRUE);			stop->optional = start->optional;			if(start->runnable == FALSE) {				rsc->next_role = RSC_ROLE_STOPPED;			}					}	}}