Ack.

Thanks
-Nagu
> -----Original Message-----
> From: Alex Jones [mailto:[email protected]]
> Sent: 21 May 2014 21:56
> To: [email protected]; Praveen Malviya
> Cc: [email protected]
> Subject: [devel] [PATCH 1 of 1] amfnd: fix process of proxy/proxied cleanup on
> OpenSAF shutdown [#629]
> 
>  osaf/services/saf/amf/amfnd/clc.cc |  20 ++++++++++++++++++++
>  1 files changed, 20 insertions(+), 0 deletions(-)
> 
> 
> May  2 15:22:11 linux osafamfnd[2990]: NO 'safSu=Management-
> SU1,safSg=Management-2N,safApp=ManagementApp' Presence State
> INSTANTIATED => TERMINATION_FAILED May  2 15:22:38 linux
> osafamfnd[2990]: ER AMF director unexpectedly crashed May  2 15:22:38 linux
> osafamfnd[2990]: Rebooting OpenSAF NodeId = 131343 EE Name =
> safEE=Linux_os_hosting_clm_node,safHE=Stirling_Blade_slot_1,safDomain=Q5
> 0chassis, Reason: local AVD down(Adest) or both AVD down(Vdest) received,
> OwnNodeId = 131343, SupervisionTime = 60 May  2 15:22:38 linux
> opensaf_reboot: Rebooting local node; timeout=60
> 
> On OpenSAF shutdown, amfnd doesn't wait for the proxied components of a
> proxy to terminate before terminating the proxy.  It terminates the proxy via
> "CLC-CLI cleanup", and the proxied component via the
> SaAmfProxiedComponentCleanupCallbackT in the proxy.  If the proxied
> component takes some time to terminate, amfnd doesn't wait and terminates
> the proxy.
> amfnd never gets the response from
> SaAmfProxiedComponentCleanupCallbackT
> (because the proxy has been terminated), and thinks that the termination of 
> the
> proxied component timed out.
> 
> amfnd needs to delay terminating the proxy until all the proxy's proxied
> components have terminated.
> 
> diff --git a/osaf/services/saf/amf/amfnd/clc.cc
> b/osaf/services/saf/amf/amfnd/clc.cc
> --- a/osaf/services/saf/amf/amfnd/clc.cc
> +++ b/osaf/services/saf/amf/amfnd/clc.cc
> @@ -831,6 +831,23 @@ uint32_t avnd_comp_clc_fsm_run(AVND_CB *
>               }
>       }
> 
> +     /* can we clean up the proxy now? */
> +     if (m_AVND_COMP_TYPE_IS_PROXIED(comp) &&
> +             (AVND_TERM_STATE_OPENSAF_SHUTDOWN_STARTED == cb-
> >term_state ||
> +             AVND_TERM_STATE_NODE_FAILOVER_TERMINATING == cb-
> >term_state) &&
> +             (ev == AVND_COMP_CLC_PRES_FSM_EV_CLEANUP_SUCC ||
> +             ev == AVND_COMP_CLC_PRES_FSM_EV_CLEANUP_FAIL))
> +     {
> +             AVND_COMP *proxy = comp->pxy_comp;
> +             rc = avnd_comp_unreg_prc(cb, comp, proxy);
> +
> +             /* if proxy got unset then we can continue with proxy's
> termination */
> +             if (rc == NCSCC_RC_SUCCESS &&
> !m_AVND_COMP_TYPE_IS_PROXY(proxy))
> +             {
> +                     rc = avnd_comp_clc_fsm_run(avnd_cb, proxy,
> AVND_COMP_CLC_PRES_FSM_EV_CLEANUP);
> +             }
> +     }
> +
>       TRACE_1("'%s':Entering CLC FSM: presence state:'%s', Event:'%s'",
>                                       comp-
> >name.value,pres_state[prv_st],pres_state_evt[ev]);
> 
> @@ -1808,6 +1825,9 @@ uint32_t avnd_comp_clc_inst_clean_hdler(
>               avnd_comp_cbq_del(cb, comp, true);
>               /* call the cleanup callback */
>               rc = avnd_comp_cbk_send(cb, comp,
> AVSV_AMF_PXIED_COMP_CLEAN, 0, 0);
> +     } else if (m_AVND_COMP_TYPE_IS_PROXY(comp) && comp-
> >pxied_list.n_nodes) {
> +             /* if there are still outstanding proxied components we can't
> terminate right now */
> +             return rc;
>       } else
>               /* cleanup the comp */
>               rc = avnd_comp_clc_cmd_execute(cb, comp,
> AVND_COMP_CLC_CMD_TYPE_CLEANUP);
> 
> 
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Opensaf-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to