[devel] [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted during SuRestart escalation [#885]

2014-05-15 Thread Minh Hon Chau
 osaf/services/saf/amf/amfnd/susm.cc |  16 +---
 1 files changed, 13 insertions(+), 3 deletions(-)


In case of npi su restart recovery, this problem appears because the condition
of changing su presence state to INSTANTIATED is not sufficient.

If the component of the last csi in csi_list has been restarted first due
to componentRestart (before suRestart), amfnd can not find any next csi
and changes the su presence state to INSTANTIATED, this will miss the
restart for the rest of components.

The fix uses UNASSIGNED csi to avoid duplication of restarting the same 
component
many times during su restart, only component linked to UNASSIGNED csi is 
restarted.
Therefore, the condition of changing su presence state to INSTANTIATED should be
all csis are ASSIGNED

diff --git a/osaf/services/saf/amf/amfnd/susm.cc 
b/osaf/services/saf/amf/amfnd/susm.cc
--- a/osaf/services/saf/amf/amfnd/susm.cc
+++ b/osaf/services/saf/amf/amfnd/susm.cc
@@ -2638,12 +2638,22 @@ uint32_t avnd_su_pres_restart_compinst_h
 
/* get the next csi */
curr_csi = (AVND_COMP_CSI_REC 
*)m_NCS_DBLIST_FIND_NEXT(&curr_csi->si_dll_node);
-   if (curr_csi) {
+   /* To be taken into restart, the next found csi must be 
UNASSIGNED (avoid
+* duplication of restarting component). The component linked 
to csi must
+* not be in RESTARTING (avoid the component just coming in 
component restart
+* recovery), and not be in INSTANTIATING (avoid the component 
in progress
+* of instantiation). But for now the check for INSTANTIATING 
is not included
+* because avnd_su_pres_insting_surestart_hdler has not been 
implemented.
+*/
+   if (curr_csi != NULL && 
+   
m_AVND_COMP_CSI_CURR_ASSIGN_STATE_IS_UNASSIGNED(curr_csi) == true &&
+   curr_csi->comp->pres != SA_AMF_PRESENCE_RESTARTING) {
/* we have another csi. trigger the comp fsm with 
RestartEv */
-   rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp, 
AVND_COMP_CLC_PRES_FSM_EV_RESTART);
+   rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp,
+
AVND_COMP_CLC_PRES_FSM_EV_RESTART);
if (NCSCC_RC_SUCCESS != rc)
goto done;
-   } else {
+   } else if (all_csis_in_assigned_state(su)) { 
/* => si assignment done */
avnd_su_pres_state_set(su, 
SA_AMF_PRESENCE_INSTANTIATED);
}

--
"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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted during SuRestart escalation [#885]

2014-05-20 Thread praveen malviya
I will push this after incorporating the comments.

Thanks,
Praveen
On 16-May-14 1:02 PM, Hans Feldt wrote:
> Sorry for being picky but see inline ...
>
> Anyway ack from me, but this could be fixed (by the maintainer) before push.
>
> Thanks,
> Hans
>
>> -Original Message-
>> From: Minh Hon Chau [mailto:minh.c...@dektech.com.au]
>> Sent: den 15 maj 2014 15:28
>> To: nagendr...@oracle.com; Hans Nordebäck; Hans Feldt; 
>> praveen.malv...@oracle.com
>> Cc: opensaf-devel@lists.sourceforge.net
>> Subject: [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted 
>> during SuRestart escalation [#885]
> [Hans] again the problem is repeated in the short commit message. This one 
> should just say in forward terms what the patch is doing with the code base 
> like:
> "amfnd: fix SU restart escalation [#885]"
>
>>   osaf/services/saf/amf/amfnd/susm.cc |  16 +---
>>   1 files changed, 13 insertions(+), 3 deletions(-)
>>
>>
> [Hans] problem/symptom should be here (which now is the short commit message)
>
> This is the analysis:
>> In case of npi su restart recovery, this problem appears because the 
>> condition
>> of changing su presence state to INSTANTIATED is not sufficient.
>>
>> If the component of the last csi in csi_list has been restarted first due
>> to componentRestart (before suRestart), amfnd can not find any next csi
>> and changes the su presence state to INSTANTIATED, this will miss the
>> restart for the rest of components.
>>
>> The fix uses UNASSIGNED csi to avoid duplication of restarting the same 
>> component
>> many times during su restart, only component linked to UNASSIGNED csi is 
>> restarted.
>> Therefore, the condition of changing su presence state to INSTANTIATED 
>> should be
>> all csis are ASSIGNED
>>
>> diff --git a/osaf/services/saf/amf/amfnd/susm.cc 
>> b/osaf/services/saf/amf/amfnd/susm.cc
>> --- a/osaf/services/saf/amf/amfnd/susm.cc
>> +++ b/osaf/services/saf/amf/amfnd/susm.cc
>> @@ -2638,12 +2638,22 @@ uint32_t avnd_su_pres_restart_compinst_h
>>
>>  /* get the next csi */
>>  curr_csi = (AVND_COMP_CSI_REC 
>> *)m_NCS_DBLIST_FIND_NEXT(&curr_csi->si_dll_node);
>> -if (curr_csi) {
>> +/* To be taken into restart, the next found csi must be 
>> UNASSIGNED (avoid
>> + * duplication of restarting component). The component linked 
>> to csi must
>> + * not be in RESTARTING (avoid the component just coming in 
>> component restart
>> + * recovery), and not be in INSTANTIATING (avoid the component 
>> in progress
>> + * of instantiation). But for now the check for INSTANTIATING 
>> is not included
>> + * because avnd_su_pres_insting_surestart_hdler has not been 
>> implemented.
> [Hans] cryptic comment that sounds like a TODO?
>
>> + */
>> +if (curr_csi != NULL &&
>> +
>> m_AVND_COMP_CSI_CURR_ASSIGN_STATE_IS_UNASSIGNED(curr_csi) == true &&
>> +curr_csi->comp->pres != SA_AMF_PRESENCE_RESTARTING) {
> [Hans] some parenthesis around the expressions would be nice and is safer
>
>>  /* we have another csi. trigger the comp fsm with 
>> RestartEv */
>> -rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp, 
>> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
>> +rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp,
>> + 
>> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
>>  if (NCSCC_RC_SUCCESS != rc)
>>  goto done;
>> -} else {
>> +} else if (all_csis_in_assigned_state(su)) {
> [Hans] == true
>
>>  /* => si assignment done */
>>  avnd_su_pres_state_set(su, 
>> SA_AMF_PRESENCE_INSTANTIATED);
>>  }


--
"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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted during SuRestart escalation [#885]

2014-05-15 Thread Nagendra Kumar
Ack.

Thanks
-Nagu

> -Original Message-
> From: Minh Hon Chau [mailto:minh.c...@dektech.com.au]
> Sent: 15 May 2014 18:58
> To: Nagendra Kumar; hans.nordeb...@ericsson.com;
> hans.fe...@ericsson.com; Praveen Malviya
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted during
> SuRestart escalation [#885]
> 
>  osaf/services/saf/amf/amfnd/susm.cc |  16 +---
>  1 files changed, 13 insertions(+), 3 deletions(-)
> 
> 
> In case of npi su restart recovery, this problem appears because the condition
> of changing su presence state to INSTANTIATED is not sufficient.
> 
> If the component of the last csi in csi_list has been restarted first due
> to componentRestart (before suRestart), amfnd can not find any next csi
> and changes the su presence state to INSTANTIATED, this will miss the
> restart for the rest of components.
> 
> The fix uses UNASSIGNED csi to avoid duplication of restarting the same
> component
> many times during su restart, only component linked to UNASSIGNED csi is
> restarted.
> Therefore, the condition of changing su presence state to INSTANTIATED should
> be
> all csis are ASSIGNED
> 
> diff --git a/osaf/services/saf/amf/amfnd/susm.cc
> b/osaf/services/saf/amf/amfnd/susm.cc
> --- a/osaf/services/saf/amf/amfnd/susm.cc
> +++ b/osaf/services/saf/amf/amfnd/susm.cc
> @@ -2638,12 +2638,22 @@ uint32_t avnd_su_pres_restart_compinst_h
> 
>   /* get the next csi */
>   curr_csi = (AVND_COMP_CSI_REC
> *)m_NCS_DBLIST_FIND_NEXT(&curr_csi->si_dll_node);
> - if (curr_csi) {
> + /* To be taken into restart, the next found csi must be
> UNASSIGNED (avoid
> +  * duplication of restarting component). The component linked
> to csi must
> +  * not be in RESTARTING (avoid the component just coming in
> component restart
> +  * recovery), and not be in INSTANTIATING (avoid the
> component in progress
> +  * of instantiation). But for now the check for INSTANTIATING is
> not included
> +  * because avnd_su_pres_insting_surestart_hdler has not been
> implemented.
> +  */
> + if (curr_csi != NULL &&
> +
>   m_AVND_COMP_CSI_CURR_ASSIGN_STATE_IS_UNASSIGNED(curr_csi
> ) == true &&
> + curr_csi->comp->pres !=
> SA_AMF_PRESENCE_RESTARTING) {
>   /* we have another csi. trigger the comp fsm with
> RestartEv */
> - rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp,
> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
> + rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp,
> +
> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
>   if (NCSCC_RC_SUCCESS != rc)
>   goto done;
> - } else {
> + } else if (all_csis_in_assigned_state(su)) {
>   /* => si assignment done */
>   avnd_su_pres_state_set(su,
> SA_AMF_PRESENCE_INSTANTIATED);
>   }

--
"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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


Re: [devel] [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted during SuRestart escalation [#885]

2014-05-16 Thread Hans Feldt
Sorry for being picky but see inline ...

Anyway ack from me, but this could be fixed (by the maintainer) before push. 

Thanks,
Hans

> -Original Message-
> From: Minh Hon Chau [mailto:minh.c...@dektech.com.au]
> Sent: den 15 maj 2014 15:28
> To: nagendr...@oracle.com; Hans Nordebäck; Hans Feldt; 
> praveen.malv...@oracle.com
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted during 
> SuRestart escalation [#885]

[Hans] again the problem is repeated in the short commit message. This one 
should just say in forward terms what the patch is doing with the code base 
like:
"amfnd: fix SU restart escalation [#885]"

> 
>  osaf/services/saf/amf/amfnd/susm.cc |  16 +---
>  1 files changed, 13 insertions(+), 3 deletions(-)
> 
> 
[Hans] problem/symptom should be here (which now is the short commit message)

This is the analysis:
> In case of npi su restart recovery, this problem appears because the condition
> of changing su presence state to INSTANTIATED is not sufficient.
> 
> If the component of the last csi in csi_list has been restarted first due
> to componentRestart (before suRestart), amfnd can not find any next csi
> and changes the su presence state to INSTANTIATED, this will miss the
> restart for the rest of components.
> 
> The fix uses UNASSIGNED csi to avoid duplication of restarting the same 
> component
> many times during su restart, only component linked to UNASSIGNED csi is 
> restarted.
> Therefore, the condition of changing su presence state to INSTANTIATED should 
> be
> all csis are ASSIGNED
> 
> diff --git a/osaf/services/saf/amf/amfnd/susm.cc 
> b/osaf/services/saf/amf/amfnd/susm.cc
> --- a/osaf/services/saf/amf/amfnd/susm.cc
> +++ b/osaf/services/saf/amf/amfnd/susm.cc
> @@ -2638,12 +2638,22 @@ uint32_t avnd_su_pres_restart_compinst_h
> 
>   /* get the next csi */
>   curr_csi = (AVND_COMP_CSI_REC 
> *)m_NCS_DBLIST_FIND_NEXT(&curr_csi->si_dll_node);
> - if (curr_csi) {
> + /* To be taken into restart, the next found csi must be 
> UNASSIGNED (avoid
> +  * duplication of restarting component). The component linked 
> to csi must
> +  * not be in RESTARTING (avoid the component just coming in 
> component restart
> +  * recovery), and not be in INSTANTIATING (avoid the component 
> in progress
> +  * of instantiation). But for now the check for INSTANTIATING 
> is not included
> +  * because avnd_su_pres_insting_surestart_hdler has not been 
> implemented.
[Hans] cryptic comment that sounds like a TODO?

> +  */
> + if (curr_csi != NULL &&
> + 
> m_AVND_COMP_CSI_CURR_ASSIGN_STATE_IS_UNASSIGNED(curr_csi) == true &&
> + curr_csi->comp->pres != SA_AMF_PRESENCE_RESTARTING) {
[Hans] some parenthesis around the expressions would be nice and is safer

>   /* we have another csi. trigger the comp fsm with 
> RestartEv */
> - rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp, 
> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
> + rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp,
> +  
> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
>   if (NCSCC_RC_SUCCESS != rc)
>   goto done;
> - } else {
> + } else if (all_csis_in_assigned_state(su)) {
[Hans] == true

>   /* => si assignment done */
>   avnd_su_pres_state_set(su, 
> SA_AMF_PRESENCE_INSTANTIATED);
>   }

--
"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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel