Hi Praveen

Please see comments inline

Thanks,
Minh

On 11/04/16 16:13, praveen malviya wrote:
>
> On 07-Apr-16 7:17 PM, Minh Hon Chau wrote:
>>   osaf/services/saf/amf/amfnd/su.cc |  5 -----
>>   1 files changed, 0 insertions(+), 5 deletions(-)
>>
>>
>> Currently avnd_su_curr_info_del() is called in three places:
>>
>> (1). su restart recovery
>>
>> (2). su restart by admin op
>>
>> (3). su is terminated by su_pres_msg
>>
>> In case (1), (2), the code that reset SU's oper_state as DISABLED won't
>> be called.
>
> In the surestart recovery, AMFND disables SU in 
> avnd_err_rcvr_su_restart(). This has been there historically. Here it 
> is not conveyed to AMFD for surestart recovery.
[Minh]
So yes in avnd_err_rcvr_su_restart() amfnd has disabled SU, but before 
amfnd reports su_restart recovery, amfnd sets back to ENABLED

void su_send_suRestart_recovery_msg(AVND_SU *su)
{
     su->oper = SA_AMF_OPERATIONAL_ENABLED;
     //Keep the su enabled for sending the message.
     avnd_di_oper_send(avnd_cb, su, AVSV_ERR_RCVR_SU_RESTART);
     su->oper = SA_AMF_OPERATIONAL_DISABLED;
}

Regarding the patch, its change is inside avnd_su_curr_info_del.
In case of su restart recovery, the code removed in this patch will not 
be reached since su is marked as FAILED in avnd_err_rcvr_su_restart()
In case of admin su restart, this code will not be reached as well.
The other case is terminate SU, but SU can't be DISABLED while it's not 
FAILED?

>
> Thanks,
> Praveen
>  Only in (3), which lock-in SU (or node/ng) which SU is not
>> failed, that reset SU's oper_state as DISABLED. This will set local
>> variable @su->oper as DISABLED while SU OperationalState in amfd and
>> imm as ENABLED. This reset is not needed since if SU is healthy, its
>> oper state should be ENABLED. And this reset will cause SU won't be able
>> to recover after headless if there was a lock-in SU (node/ng) done 
>> before
>> headless.
>>
>> Patch removes this reset of SU as DISABLED.
>>
>> diff --git a/osaf/services/saf/amf/amfnd/su.cc 
>> b/osaf/services/saf/amf/amfnd/su.cc
>> --- a/osaf/services/saf/amf/amfnd/su.cc
>> +++ b/osaf/services/saf/amf/amfnd/su.cc
>> @@ -572,11 +572,6 @@ uint32_t avnd_su_curr_info_del(AVND_CB *
>>           su->su_restart_cnt = 0;
>>           avnd_di_uns32_upd_send(AVSV_SA_AMF_SU, 
>> saAmfSURestartCount_ID, &su->name, su->su_restart_cnt);
>>           /* stop su_err_esc_tmr TBD Later */
>> -
>> -        /* disable the oper state (if pi su) */
>> -        if (m_AVND_SU_IS_PREINSTANTIABLE(su) && (su->admin_op_Id != 
>> SA_AMF_ADMIN_RESTART)) {
>> -            m_AVND_SU_OPER_STATE_SET(su, SA_AMF_OPERATIONAL_DISABLED);
>> -        }
>>       }
>>
>>       /* scan & delete the current info store in each component */
>>
>


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to