Ack

Thanks
-Nagu

> -----Original Message-----
> From: Praveen Malviya
> Sent: 28 July 2014 04:24
> To: [email protected]; Nagendra Kumar; [email protected]
> Cc: [email protected]
> Subject: [PATCH 1 of 1] amfd : fix node failover while assigning standby state
> during si-swap {#309]
> 
>  osaf/services/saf/amf/amfd/sg_2n_fsm.cc |  22 +++++++++++++++++-----
>  1 files changed, 17 insertions(+), 5 deletions(-)
> 
> 
> Two si-swap operations are performed. Si-swap fails second time if fault
> occurs during standby assignment and it leads to node-failover escalation
> during first si-wap
> 
> Second si-swap fails because SG remain unstable. This particular case
> is not handle in SG FSM of 2N model.
> 
> Patch fixes the problem by making SG stable.
> 
> diff --git a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
> b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
> --- a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
> +++ b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
> @@ -59,7 +59,7 @@ static void complete_siswap(AVD_SU *su,
>               /* si->invocation field is not check pointed. If controller
> failovers when si-swap
>                  operation is in progress, si->invocation will be zero on the
> new active controller.
>                  Log an error when si-swap operation completes.*/
> -             LOG_ER("Operation done, but invocationId for the operation
> on SI not found '%s'", su->name.value);
> +             TRACE("Operation done, but invocationId for the operation on
> SI not found '%s'", su->name.value);
>       }
>       TRACE_LEAVE();
>  }
> @@ -2929,16 +2929,28 @@ static void avd_sg_2n_node_fail_su_oper(
>                       /* the admin state of the SU is shutdown change it to
> lock. */
>                       if (su->saAmfSUAdminState ==
> SA_AMF_ADMIN_SHUTTING_DOWN) {
>                               su-
> >set_admin_state(SA_AMF_ADMIN_LOCKED);
> +                             avd_sg_su_oper_list_add(cb, a_susi->su,
> false);
> +                             m_AVD_SET_SG_FSM(cb, (su->sg_of_su),
> AVD_SG_FSM_SG_REALIGN);
>                       } else if (su_node_ptr->saAmfNodeAdminState ==
> SA_AMF_ADMIN_SHUTTING_DOWN) {
>                               m_AVD_IS_NODE_LOCK((su_node_ptr), flag);
>                               if (flag == true) {
>                                       node_admin_state_set(su_node_ptr,
> SA_AMF_ADMIN_LOCKED);
>                               }
> -                     } else {
> -                             su-
> >set_su_switch(AVSV_SI_TOGGLE_STABLE);
> +                             avd_sg_su_oper_list_add(cb, a_susi->su,
> false);
> +                             m_AVD_SET_SG_FSM(cb, (su->sg_of_su),
> AVD_SG_FSM_SG_REALIGN);
> +                     } else  {
> +
> +                             /* During si-swap while standby assignment is
> going on, if Nodefailover
> +                                or SU failover got escalated then toggle SU
> switch state and make SG
> +                                stable. After SG becomes stable, spare SU 
> will
> be instantiated,
> +                                if available, or same SU will get standby
> assignment after repair.
> +                              */
> +                             if (su->su_switch ==
> AVSV_SI_TOGGLE_SWITCH) {
> +                                     su-
> >set_su_switch(AVSV_SI_TOGGLE_STABLE);
> +                                     m_AVD_SET_SG_FSM(cb, (su-
> >sg_of_su), AVD_SG_FSM_STABLE);
> +                                     complete_siswap(a_susi->su,
> SA_AIS_OK);
> +                             }
>                       }
> -                     avd_sg_su_oper_list_add(cb, a_susi->su, false);
> -                     m_AVD_SET_SG_FSM(cb, (su->sg_of_su),
> AVD_SG_FSM_SG_REALIGN);
>               } /* if (a_susi->su != su) */
>               else {
>                       if (s_susi != AVD_SU_SI_REL_NULL) {

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to