Hi Praveen, a question, the alarm "Service Instance Unassigned" is still raised when locking NoRed MW, shouldn't it be suppressed?
/Thanks HansN On 07/08/2016 08:05 AM, praveen malviya wrote: > > > On 07-Jul-16 6:31 PM, minh chau wrote: >> Hi Praveen, >> >> NoRed MW allows locking SU only, and not allow locking SI, which means >> to me if NoRed MW SUs are unlocked it must provide its services (SMFND, >> IMMND, CPND, CLMNA) >> I'm not sure whether this is a must-have requirement or not, since this >> behavior has existed for long. > > Lock on NoRed MW SU is supported for upgrade purpose. > AMF allows deletion of SI if it is locked (recommended way) and when > it is unassigned(non-recommended way). > So this patch supports lock on NoRed MW SI for deletion. > Lock on MW NoRed SU may not be helpful because AMFD can still assign > that SI to some other node. > > Thanks, > Praveen >> >> Thanks, >> Minh >> >> On 05/07/16 15:20, praveen malviya wrote: >>> 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