Ack.

Thanks
-Nagu

> -----Original Message-----
> From: Praveen Malviya
> Sent: 25 March 2015 12:09
> To: hans.nordeb...@ericsson.com; Nagendra Kumar
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] amfd: reset ng op params after performing sufailover
> [#1279]
> 
>  osaf/services/saf/amf/amfd/sgproc.cc |  10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> 
> If lock/shutdown operation on a nodegroup is in progress and component
> faults with
> sufailover recovery while handling quiesced/quiescing callback, then two
> problems
> are obserbed in case of 2N application:
> 1)If both the active and standby assignments are part of nodegroup then lock
> operation succeeds but unlock does not lead to assignment in any SU. Here
> there is no problem in shutdown opreation.
> 2)If active assignment is in the nodegroup and standby assignment is outside
> the nodegroup then nodegroup admin state sticks to SHUTTING_DOWN but
> operation
> succeeds. Since ng admin state is not locked, unlock operation is rejected by
> AMF. Here there is no problem with lock operation.
> 
> AMF is resetting nodegroup params before failover of SU.
> In case 1, SG was not stable while AMF tries to reset the sg admin state.So
> internally SG remained it locked state. When user tries to unlock the ng,
> operation succeeds but no assignment occurs as SG is locked internally.
> In case 2, AMF tries to mark the node and ng from SHUTTING_DOWN
> to locked before sufailover. Before sufailover su still has SIs assigned to 
> it in
> quiescing state. Because of this node is not marked locked ans so also ng.
> 
> In sufailover, AMF deletes all the assignment and marks the node locked and
> sg
> becomes stable. So after sufailover processing, if AMF performs ng related
> activities it will set things in proper state. Patch ensures this.
> 
> diff --git a/osaf/services/saf/amf/amfd/sgproc.cc
> b/osaf/services/saf/amf/amfd/sgproc.cc
> --- a/osaf/services/saf/amf/amfd/sgproc.cc
> +++ b/osaf/services/saf/amf/amfd/sgproc.cc
> @@ -399,6 +399,7 @@ done:
>  static uint32_t sg_su_failover_func(AVD_SU *su)
>  {
>       uint32_t rc = NCSCC_RC_FAILURE;
> +     SaAisErrorT res = SA_AIS_OK;
> 
>       TRACE_ENTER2("'%s', %u", su->name.value, su->sg_of_su-
> >sg_fsm_state);
> 
> @@ -425,8 +426,6 @@ static uint32_t sg_su_failover_func(AVD_
>                  In case of Node unlock this counter is incremented per susi.
> So decrement
>                  should also be done per susi.
>                */
> -
> -             SaAisErrorT res = SA_AIS_OK;
>               if (su->su_on_node->saAmfNodeAdminState ==
> SA_AMF_ADMIN_UNLOCKED) {
>                       for (AVD_SU_SI_REL *susi = su->list_of_susi; susi; susi
> = susi->su_next) {
>                               if (susi->fsm == AVD_SU_SI_STATE_ASGN)
> @@ -441,9 +440,6 @@ static uint32_t sg_su_failover_func(AVD_
>                       AVD_AVND *node = su->su_on_node;
>                       node_complete_admin_op(node, res);
>               }
> -
> -             /* If nodegroup level operation is finished on all the nodes,
> reply to imm.*/
> -             process_su_si_response_for_ng(su, res);
>       }
> 
>       /*If the AvD is in AVD_APP_STATE then reassign all the SUSI
> assignments for this SU */
> @@ -480,6 +476,10 @@ static uint32_t sg_su_failover_func(AVD_
>               su->delete_all_susis();
>       }
> 
> +     /* If nodegroup level operation is finished on all the nodes, reply to
> imm.*/
> +     if (su->su_on_node->admin_ng != NULL)
> +             process_su_si_response_for_ng(su, res);
> +
>       rc =  NCSCC_RC_SUCCESS;
> 
>  done:

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to