Hi Nagu,

I would like to push the patch today.

Thanks,
Minh

On 28/02/17 14:07, Gary Lee wrote:
> Hi
>
> Ack (review)
>
> On 24/2/17, 11:32 am, "Minh Hon Chau" <[email protected]> wrote:
>
>       src/amf/amfd/siass.cc |  11 ++++++++---
>       1 files changed, 8 insertions(+), 3 deletions(-)
>      
>      
>      If loss of update saAmfSUAdminState before headless occurs, amfd 
> currently
>      does not have enough information to adjust saAmfSUAdminState. The reason 
> is
>      that amfd can not differentiate whether si-swap or su-lock has been 
> executed
>      before headless if saAmfSUAdminState was lost to update in IMM. Both 
> si-swap
>      and su-lock are using the same SG FSM STATE, having QUIESCED assignment.
>      
>      This patch prioritizes si-swap and ignore to update saAmfSUAdminState to 
> LOCKED
>      in order to avoid out of service.
>      
>      diff --git a/src/amf/amfd/siass.cc b/src/amf/amfd/siass.cc
>      --- a/src/amf/amfd/siass.cc
>      +++ b/src/amf/amfd/siass.cc
>      @@ -378,9 +378,14 @@ bool avd_susi_validate_headless_cached_r
>                               
> present_susi->su->su_on_node->saAmfNodeAdminState != SA_AMF_ADMIN_LOCKED) {
>                               LOG_WA("SISU:'%s', ha:'%u', but one of 
> [node/sg/su/si] is not in LOCKED",
>                                               dn.c_str(), ha_fr_imm);
>      -                        if (present_susi->su->sg_of_su->sg_fsm_state == 
> AVD_SG_FSM_SU_OPER)
>      -                                
> present_susi->su->set_admin_state(SA_AMF_ADMIN_LOCKED);
>      -                        else if 
> (present_susi->su->sg_of_su->sg_fsm_state == AVD_SG_FSM_SI_OPER)
>      +                        if (present_susi->su->sg_of_su->sg_fsm_state == 
> AVD_SG_FSM_SU_OPER) {
>      +                                // ambiguous between si-swap and 
> su-lock both are
>      +                                // using AVD_SG_FSM_SU_OPER.
>      +                                // Prioritize si-swap, do not set 
> saAmfSUAdminState
>      +                                // to LOCKED to avoid out of service.
>      +                                // TODO: Need a better solution to 
> solve the ambiguity
>      +                                TRACE("No adjustment for 
> saAmfSUAdminState");
>      +                        } else if 
> (present_susi->su->sg_of_su->sg_fsm_state == AVD_SG_FSM_SI_OPER)
>                                       
> present_susi->si->set_admin_state(SA_AMF_ADMIN_LOCKED);
>                               else if 
> (present_susi->su->sg_of_su->sg_fsm_state == AVD_SG_FSM_SG_ADMIN)
>                                       
> present_susi->su->sg_of_su->set_admin_state(SA_AMF_ADMIN_LOCKED);
>      
>
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to