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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel