예제 #1
0
파일: cib.c 프로젝트: sipwise/heartbeat
static void
do_cib_replaced(const char *event, HA_Message *msg)
{
	crm_debug("Updating the CIB after a replace");
 	populate_cib_nodes(fsa_cluster_conn, FALSE);
	do_update_cib_nodes(AM_I_DC, __FUNCTION__);
	if(AM_I_DC) {
		/* start the join process again so we get everyone's LRM status */
		register_fsa_input(C_FSA_INTERNAL, I_ELECTION, NULL);
	}
}
예제 #2
0
static void
do_cib_replaced(const char *event, xmlNode *msg)
{
    crm_debug("Updating the CIB after a replace: DC=%s", AM_I_DC?"true":"false");
    if(AM_I_DC == FALSE) {
	return;
	
    } else if(fsa_state == S_FINALIZE_JOIN
	      && is_set(fsa_input_register, R_CIB_ASKED)) {
	/* no need to restart the join - we asked for this replace op */
	return;
    }
    
    /* start the join process again so we get everyone's LRM status */
    populate_cib_nodes(FALSE);
    do_update_cib_nodes(TRUE, __FUNCTION__);
    register_fsa_input(C_FSA_INTERNAL, I_ELECTION, NULL);
}