Hi, Please provide your feedback on this patch. I would like to push this patch by tomorrow.
Thanks, Praveen On 24-Jun-16 11:06 AM, praveen.malv...@oracle.com wrote: > osaf/services/saf/amf/amfd/si.cc | 20 +++++++++++++++++++- > 1 files changed, 19 insertions(+), 1 deletions(-) > > > In the reported issue, amfd crashes during deletion of MW NoRed SI while > standby SC is coming up. > > Here requirement is to bring down a payload node and delete its related > configuration > like node, MW SI, MW SU etc. As per AMF PR doc section 7.1.4 , SI must be > locked before > deleting it. Also AMF allows deletion of SI in unlocked state if it is > unassigned, but > it is not the recommended way. Since lock operation on NoRed MW SI is not > allowed, > the only way to delete is when it is unassigned. This imposes another > criterion to bring > down the node or lock NoRed SU so that its MW SI gets unassigned and its > deletion can proceed. > Even in this case also, AMF can pick the same SI and assign it to some other > unassigned node > or any node joining the cluster that time. Thus there is no gaurantee that SI > will remain > unassigned. > > Patch allows lock and unlock admin op on MW NoRed SI accept the one assigned > on > active SC. > > diff --git a/osaf/services/saf/amf/amfd/si.cc > b/osaf/services/saf/amf/amfd/si.cc > --- a/osaf/services/saf/amf/amfd/si.cc > +++ b/osaf/services/saf/amf/amfd/si.cc > @@ -800,11 +800,29 @@ static void si_admin_op_cb(SaImmOiHandle > > si = avd_si_get(objectName); > > - if ((operationId != SA_AMF_ADMIN_SI_SWAP) && (si->sg_of_si->sg_ncs_spec > == true)) { > + if ((operationId != SA_AMF_ADMIN_SI_SWAP) && (operationId != > SA_AMF_ADMIN_LOCK) && > + (operationId != SA_AMF_ADMIN_UNLOCK) && > (si->sg_of_si->sg_ncs_spec == true)) { > report_admin_op_error(immOiHandle, invocation, > SA_AIS_ERR_NOT_SUPPORTED, nullptr, > "Admin operation %llu on MW SI is not allowed", > operationId); > goto done; > } > + if (((operationId == SA_AMF_ADMIN_LOCK) || (operationId == > SA_AMF_ADMIN_UNLOCK)) && > + (si->sg_of_si->sg_ncs_spec == true)) { > + if (si->sg_of_si->sg_redundancy_model == > SA_AMF_2N_REDUNDANCY_MODEL) { > + report_admin_op_error(immOiHandle, invocation, > + SA_AIS_ERR_NOT_SUPPORTED, nullptr, > + "Admin operation %llu on MW 2N SI is > not allowed", operationId); > + goto done; > + } else if ((si->sg_of_si->sg_redundancy_model == > SA_AMF_NO_REDUNDANCY_MODEL) && > + (si->list_of_sisu != nullptr) && (operationId > == SA_AMF_ADMIN_LOCK) && > + (avd_cb->node_id_avd == > si->list_of_sisu->su->su_on_node->node_info.nodeId)) { > + //No specific reason, but conforming to existing > notions for active SC. > + report_admin_op_error(immOiHandle, invocation, > + SA_AIS_ERR_NOT_SUPPORTED, nullptr, > + "Admin lock of MW SI assigned on Active SC is > not allowed"); > + goto done; > + } > + } > /* if Tolerance timer is running for any SI's withing this SG, then > return SA_AIS_ERR_TRY_AGAIN */ > if (sg_is_tolerance_timer_running_for_any_si(si->sg_of_si)) { > report_admin_op_error(immOiHandle, invocation, > SA_AIS_ERR_TRY_AGAIN, nullptr, > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Opensaf-devel mailing list > Opensaf-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/opensaf-devel > ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel