Please review it by this weekend. Thanks -Nagu
> -----Original Message----- > From: Nagendra Kumar > Sent: 02 August 2016 17:34 > To: hans.nordeb...@ericsson.com; Praveen Malviya; > minh.c...@dektech.com.au; gary....@dektech.com.au > Cc: opensaf-devel@lists.sourceforge.net > Subject: [devel] [PATCH 1 of 1] amfd: mark stby_sync_state out of sync if > peer amfd is absent [#1850] > > osaf/services/saf/amf/amfd/main.cc | 2 +- > osaf/services/saf/amf/amfd/sg_2n_fsm.cc | 3 ++- > osaf/services/saf/amf/amfd/sgproc.cc | 8 +------- > 3 files changed, 4 insertions(+), 9 deletions(-) > > > If standby amfd is not available then stby_sync_state should be in out of sync > state. > Else, Amfd should be in out of sync state. > This is to avoid issues like 1841 > > diff --git a/osaf/services/saf/amf/amfd/main.cc > b/osaf/services/saf/amf/amfd/main.cc > --- a/osaf/services/saf/amf/amfd/main.cc > +++ b/osaf/services/saf/amf/amfd/main.cc > @@ -542,7 +542,7 @@ static uint32_t initialize(void) > cb->fully_initialized = false; > cb->swap_switch = false; > cb->active_services_exist = true; > - cb->stby_sync_state = AVD_STBY_IN_SYNC; > + cb->stby_sync_state = AVD_STBY_OUT_OF_SYNC; > cb->sync_required = true; > > cb->heartbeat_tmr.is_active = false; > diff --git a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc > b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc > --- a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc > +++ b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc > @@ -771,7 +771,8 @@ SaAisErrorT SG_2N::si_swap(AVD_SI *si, S > goto done; > } > > - if (si->sg_of_si->sg_ncs_spec) { > + if ((si->sg_of_si->sg_ncs_spec) && > + ((cb->node_id_avd_other != 0) && (cb- > >other_avd_adest != 0))) { > if (avd_cb->stby_sync_state == AVD_STBY_OUT_OF_SYNC) { > LOG_ER("%s SWAP failed - Cold sync in progress", si- > >name.value); > rc = SA_AIS_ERR_TRY_AGAIN; > diff --git a/osaf/services/saf/amf/amfd/sgproc.cc > b/osaf/services/saf/amf/amfd/sgproc.cc > --- a/osaf/services/saf/amf/amfd/sgproc.cc > +++ b/osaf/services/saf/amf/amfd/sgproc.cc > @@ -1997,14 +1997,8 @@ void avd_node_down_mw_susi_failover(AVD_ > if ((i_su->sg_of_su->sg_redundancy_model == > SA_AMF_2N_REDUNDANCY_MODEL) && > (i_su->sg_of_su->sg_fsm_state == > AVD_SG_FSM_STABLE)) > (void) avd_clm_track_start(); > - /* If Std ctlr went down in middle of Cold sync, then we need > - to reset the sync state to IN_SYNC. */ > - if ((i_su->sg_of_su->sg_redundancy_model == > SA_AMF_2N_REDUNDANCY_MODEL) && > - (cb->stby_sync_state == > AVD_STBY_OUT_OF_SYNC)) { > - TRACE("Marking sync_state as in_sync"); > - cb->stby_sync_state = AVD_STBY_IN_SYNC; > - } > /* Free all the SU SI assignments*/ > + > i_su->delete_all_susis(); > > } /* for (const auto& i_su : avnd->list_of_su) */ > > ------------------------------------------------------------------------------ > _______________________________________________ > Opensaf-devel mailing list > Opensaf-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/opensaf-devel ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel