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.

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

Reply via email to