Please push.

Thanks
-Nagu

> -----Original Message-----
> From: Nagendra Kumar
> Sent: 29 April 2016 12:43
> To: minh chau; Hans Nordebäck; Gary Lee (gary....@dektech.com.au);
> Praveen Malviya
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: Re: [devel] [PATCH 1 of 1] AMFND: Resend pg information after
> headless [#1719]
> 
> Hi Minh,
>               I had tested it before dugin the review, so Ack from my side.
> 
> Thanks
> -Nagu
> 
> > -----Original Message-----
> > From: minh chau [mailto:minh.c...@dektech.com.au]
> > Sent: 29 April 2016 08:49
> > To: Hans Nordebäck; Gary Lee (gary....@dektech.com.au); Nagendra
> > Kumar; Praveen Malviya
> > Cc: opensaf-devel@lists.sourceforge.net; minh.c...@dektech.com.au
> > Subject: Re: [devel] [PATCH 1 of 1] AMFND: Resend pg information after
> > headless [#1719]
> >
> > Hi,
> >
> > #1719 set milestone for GA, can you please review it?
> >
> > Thanks
> > Minh
> >
> > On 16/04/16 22:01, opensaf-devel-requ...@lists.sourceforge.net wrote:
> > > Message: 8
> > > Date: Thu, 07 Apr 2016 11:35:50 +1000
> > > From: Minh Hon Chau<minh.c...@dektech.com.au>
> > > Subject: [devel] [PATCH 1 of 1] AMFND: Resend pg information after
> > >   headless        [#1719]
> > > To:nagendr...@oracle.com,gary....@dektech.com.au,
> > >   hans.nordeb...@ericsson.com,
> >     praveen.malv...@oracle.com
> > > Cc:opensaf-devel@lists.sourceforge.net
> > > Message-ID: <539c79d7102ab84de4f9.1459992950@kvmu1404>
> > > Content-Type: text/plain; charset="us-ascii"
> > >
> > >   osaf/services/saf/amf/amfnd/di.cc             |  36
> > +++++++++++++++++++++++++
> > >   osaf/services/saf/amf/amfnd/include/avnd_di.h |   1 +
> > >   osaf/services/saf/amf/amfnd/verify.cc         |  38 
> > > +--------------------------
> > >   3 files changed, 38 insertions(+), 37 deletions(-)
> > >
> > >
> > > If SC comes back from headless, currently protection group
> > > information will be lost at amfd.
> > >
> > > Patch moves the function for resending protection group for failover
> > > into di.cc for common usage, then reuses this function to recover pg
> > > from headless
> > >
> > > diff --git a/osaf/services/saf/amf/amfnd/di.cc
> > > b/osaf/services/saf/amf/amfnd/di.cc
> > > --- a/osaf/services/saf/amf/amfnd/di.cc
> > > +++ b/osaf/services/saf/amf/amfnd/di.cc
> > > @@ -1260,6 +1260,8 @@ void avnd_diq_rec_del(AVND_CB *cb, AVND_
> > >                                   avnd_diq_rec_send(cb, pending_rec);
> > >                           }
> > >                   }
> > > +         /* resend pg start track */
> > > +         avnd_di_resend_pg_start_track(cb);
> > >           }
> > >
> > >           /* free the avnd message contents */ @@ -1459,6 +1461,40 @@
> > > uint32_t avnd_evt_avd_role_change_evh(AV
> > >           return rc;
> > >   }
> > >
> > >
> >
> +/************************************************************
> > ****************
> > > +  Name          : avnd_di_resend_pg_start_track
> > > +
> > > +  Description   : This routing will get called on AVD fail-over or coming
> > back
> > > +                  from headless to send the PG start messages to the new 
> > > AVD.
> > > +
> > > +  Arguments     : cb  - ptr to the AvND control block
> > > +
> > > +  Return Values : NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE
> > > +
> > > +  Notes         : None.
> > >
> >
> +*************************************************************
> > ********
> > > +*********/ uint32_t avnd_di_resend_pg_start_track(AVND_CB *cb) {
> > > + uint32_t rc = NCSCC_RC_SUCCESS;
> > > + AVND_PG *pg = 0;
> > > + SaNameT csi_name;
> > > + TRACE_ENTER();
> > > +
> > > + memset(&csi_name, '\0', sizeof(SaNameT));
> > > +
> > > + while (nullptr != (pg = m_AVND_PGDB_REC_GET_NEXT(cb->pgdb,
> > csi_name))) {
> > > +         rc = avnd_di_pg_act_send(cb, &pg->csi_name,
> > > +AVSV_PG_TRACK_ACT_START, true);
> > > +
> > > +         if (NCSCC_RC_SUCCESS != rc)
> > > +                 break;
> > > +
> > > +         csi_name = pg->csi_name;
> > > + }
> > > +
> > > + TRACE_LEAVE();
> > > + return rc;
> > > +}
> > > +
> > >   /**
> > >    * The SC absence timer expired. Reboot this node.
> > >    * @param cb
> > > diff --git a/osaf/services/saf/amf/amfnd/include/avnd_di.h
> > > b/osaf/services/saf/amf/amfnd/include/avnd_di.h
> > > --- a/osaf/services/saf/amf/amfnd/include/avnd_di.h
> > > +++ b/osaf/services/saf/amf/amfnd/include/avnd_di.h
> > > @@ -83,6 +83,7 @@ uint32_t avnd_diq_rec_send(struct avnd_c
> > >   uint32_t avnd_di_reg_su_rsp_snd(struct avnd_cb_tag *cb, SaNameT
> > *su_name, uint32_t ret_code);
> > >   uint32_t avnd_di_ack_nack_msg_send(struct avnd_cb_tag *cb,
> > > uint32_t
> > rcv_id, uint32_t view_num);
> > >   extern void avnd_di_uns32_upd_send(int class_id, int attr_id,
> > > const SaNameT *dn, uint32_t value);
> > > +extern uint32_t avnd_di_resend_pg_start_track(struct avnd_cb_tag
> > > +*);
> > >   void avnd_sync_sisu(struct avnd_cb_tag *cb);
> > >   void avnd_sync_csicomp(struct avnd_cb_tag *cb);
> > >
> > > diff --git a/osaf/services/saf/amf/amfnd/verify.cc
> > > b/osaf/services/saf/amf/amfnd/verify.cc
> > > --- a/osaf/services/saf/amf/amfnd/verify.cc
> > > +++ b/osaf/services/saf/amf/amfnd/verify.cc
> > > @@ -34,42 +34,6 @@
> > >
> > >   #include "avnd.h"
> > >
> > > -static uint32_t avnd_send_pg_start_on_fover(AVND_CB *cb);
> > > -
> > > -
> >
> /*************************************************************
> > ***************
> > > -  Name          : avnd_send_pg_start_on_fover
> > > -
> > > -  Description   : This routing will get called on AVD fail-over to send 
> > > the
> > > -                  PG start messages to the new AVD.
> > > -
> > > -  Arguments     : cb  - ptr to the AvND control block
> > > -
> > > -  Return Values : NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE
> > > -
> > > -  Notes         : None.
> > > -
> >
> **************************************************************
> > *******
> > > *********/ -static uint32_t avnd_send_pg_start_on_fover(AVND_CB
> *cb)
> > > -{
> > > - uint32_t rc = NCSCC_RC_SUCCESS;
> > > - AVND_PG *pg = 0;
> > > - SaNameT csi_name;
> > > - TRACE_ENTER();
> > > -
> > > - memset(&csi_name, '\0', sizeof(SaNameT));
> > > -
> > > - while (nullptr != (pg = m_AVND_PGDB_REC_GET_NEXT(cb->pgdb,
> > csi_name))) {
> > > -         rc = avnd_di_pg_act_send(cb, &pg->csi_name,
> > AVSV_PG_TRACK_ACT_START, true);
> > > -
> > > -         if (NCSCC_RC_SUCCESS != rc)
> > > -                 break;
> > > -
> > > -         csi_name = pg->csi_name;
> > > - }
> > > -
> > > - TRACE_LEAVE();
> > > - return rc;
> > > -}
> > > -
> > >
> >
> /*************************************************************
> > ***************
> > >     Name          : avnd_evt_avd_verify_message
> > >
> > > @@ -173,7 +137,7 @@ uint32_t avnd_evt_avd_verify_evh(AVND_CB
> > >           /*
> > >            * Send PG tracking (START) message to new Active.
> > >            */
> > > - avnd_send_pg_start_on_fover(cb);
> > > + avnd_di_resend_pg_start_track(cb);
> > >
> > >
> > >           TRACE_LEAVE();
> >
> 
> ------------------------------------------------------------------------------
> Find and fix application performance issues faster with Applications Manager
> Applications Manager provides deep performance insights into multiple tiers
> of your business applications. It resolves application problems quickly and
> reduces your MTTR. Get your free trial!
> https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
> _______________________________________________
> Opensaf-devel mailing list
> Opensaf-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to