Hi Gary, One query: Besides AMF CSI-Set callback, RDE still sends role to all of its clients in rde_rda_process_set_role() when it gets RDE_RDA_SET_ROLE_REQ. It is needed, I think, when FM initiates fail-over. RDE sends callbacks when AMFD performs RDE role set. This has been in place for a long time (before 5.0) and continuing. If some MW components relies on both AMF and RDE callbacks for role change confirmation (double confirmation) then with the below change such MW components will face problems.
Thanks, Praveen On 06-Dec-16 9:20 AM, Gary Lee wrote: > osaf/services/saf/amf/amfd/role.cc | 8 -------- > 1 files changed, 0 insertions(+), 8 deletions(-) > > > Currently, RDE uses AMF callbacks from AMFND and pcs_rda_requests from AMFD > to determine > its role. During a controller switch, this can be observed on the active > controller: > > Dec 2 03:56:27 SC-2 osafrded[9582]: NO RDE role set to QUIESCED > Dec 2 03:56:28 SC-2 osafrded[9582]: NO RDE role set to STANDBY > Dec 2 03:56:32 SC-2 osafrded[9582]: NO RDE role set to QUIESCED > Dec 2 03:56:37 SC-2 osafrded[9582]: NO RDE role set to STANDBY > > The first two are a result of AMF callbacks, and last two from > pcs_rda_request. > The last two will result in confusing callbacks to RDE clients. > > During active->quiesced and quiesced->standby transitions, RDE will already > have received CSI callbacks. There is no need for amfd to inform RDE again. > > diff --git a/osaf/services/saf/amf/amfd/role.cc > b/osaf/services/saf/amf/amfd/role.cc > --- a/osaf/services/saf/amf/amfd/role.cc > +++ b/osaf/services/saf/amf/amfd/role.cc > @@ -1073,10 +1073,6 @@ uint32_t amfd_switch_actv_qsd(AVD_CL_CB > return NCSCC_RC_FAILURE; > } > > - if (NCSCC_RC_SUCCESS != avd_rde_set_role(SA_AMF_HA_QUIESCED)) { > - LOG_ER("rde role change failed from actv -> qsd"); > - } > - > /* We need to send the role to AvND. */ > rc = avd_avnd_send_role_change(cb, cb->node_id_avd, > cb->avail_state_avd); > if (NCSCC_RC_SUCCESS != rc) { > @@ -1132,10 +1128,6 @@ uint32_t amfd_switch_qsd_stdby(AVD_CL_CB > return NCSCC_RC_FAILURE; > } > > - if (NCSCC_RC_SUCCESS != avd_rde_set_role(SA_AMF_HA_STANDBY)) { > - LOG_ER("rde role change failed from qsd -> stdby"); > - } > - > /* Walk through all the nodes and free PG records. */ > for (std::map<uint32_t, AVD_AVND *>::const_iterator it = > node_id_db->begin(); > it != node_id_db->end(); it++) { > ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel