Hi!

This change makes NTF depend on CLM. CLM already depends on NTF, so it 
means we now have a circular dependency. I think you need to introduce a 
separate thread in NTF that handles all CLM API calls. Also, you need to 
handle the SA_AIS_ERR_BAD_HANDLE return code from CLM, at the very least 
when you get it from saClmDispatch(), and re-initialize the CLM handle 
if you get this error code.

regards,
Anders Widell

On 03/29/2016 11:02 AM, praveen.malv...@oracle.com wrote:
> Summary: ntf: Integrate NTF service with CLM {#1639] V2
> Review request for Trac Ticket(s): #1639
> Peer Reviewer(s): Lennart, Minh, Mathi
> Pull request to: <<LIST THE PERSON WITH PUSH ACCESS HERE>>
> Affected branch(es): Default
> Development branch: <<IF ANY GIVE THE REPO URL>>
>
> --------------------------------
> Impacted area       Impact y/n
> --------------------------------
>   Docs                    n
>   Build system            n
>   RPM/packaging           n
>   Configuration files     n
>   Startup scripts         n
>   SAF services            y
>   OpenSAF services        n
>   Core libraries          n
>   Samples                 n
>   Tests                   n
>   Other                   n
>
>
> Comments (indicate scope for each "y" above):
> ---------------------------------------------
> This V2 is rebased over #79 and #1180.
>
> Minor functional change in patch 4 (ntfa patch):
> During headless state if OpenSAF is stopped on payload,then A.01.02 clients
> will not be recovered on that payload node. These clients will get
> SA_AIS_ERR_UNAVAILABLE. This implements the comment that I had given on #1180.
>
>
> changeset 1eca6814a649886e5ebc6b25b2ef62128f60474d
> Author:       praveen.malv...@oracle.com
> Date: Tue, 29 Mar 2016 14:14:35 +0530
>
>       ntf: update README for NTFSv integration with CLM [#1639]
>
>       No change from V1.
>
>       Added information for:
>       -details of implementation.
>       -changes at NTFS.
>       -changes at NTFA.
>
> changeset 1e20a02074e8802601c5aa7977b8d2c0348e7afd
> Author:       praveen.malv...@oracle.com
> Date: Tue, 29 Mar 2016 14:15:40 +0530
>
>       ntf: add new structure for message from NTFS to NTFA [#1639]
>
>       No change from v1.
>
>       New message structure to be used by NTFS to send CLM membership status 
> of
>       node to clients.
>
> changeset 9328a2a61cfd6da7450ff49b35fc1da8ef9bda42
> Author:       praveen.malv...@oracle.com
> Date: Tue, 29 Mar 2016 14:16:34 +0530
>
>       ntfs: add support for tracking CLM membership related events and act on 
> them
>       [#1639]
>
>       No functional change, only rebased over #79.
>
>       Changes include:
>       -subscribe with CLM service to track CLM membership status of nodes.
>       -send updates to ntf agent whenever there is any change in membership 
> status
>       of its node.
>       -maintain list of member nodes to be used for new clients.
>       -maintain SAF version of the clients and checkpoint it to standby also.
>
> changeset 465383691e1bb7de57965c268ae002e8ffb12c50
> Author:       praveen.malv...@oracle.com
> Date: Tue, 29 Mar 2016 14:17:24 +0530
>
>       ntfa: support for returning SA_AIS_ERR_UNAVAILABLE on non-member 
> node[#1639]
>       V2
>
>       V2 changes:
>       -Rebased over #1180 (Cloud resilience patch).
>       -During headless state, OpenSAF may get stopped on payload with NTF app
>       running. Since OpenSAF is not running on the payload, any A.01.02 NTF 
> client
>       should not be served on this node and this client should not be 
> recovered.
>       After first controller comes up, A.01.02 client will not be recovered 
> and
>       application will get SA_AIS_ERR_UNAVAILABLE upon which an app can call
>       saNtfFinalize() for freeing the resources.
>
>        Changes include:
>       -maintain SAF version.
>       -minor version is updated from 01 to 02.
>       -ntfa will get NTFSV_CLM_NODE_STATUS_CALLBACK from NTFS for membership 
> status
>       of node.
>       -check is included in all apis, excluding saNTfFinalize(), to return
>       SA_AIS_ERR_UNAVAILABLE if node loses CLM membership.
>
> changeset 8f8657451f23c2ea6e8da565933d0d1c84999226
> Author:       praveen.malv...@oracle.com
> Date: Tue, 29 Mar 2016 14:18:21 +0530
>
>       ntf/safntf: update SAF version of ntfsend, ntfread and ntfsubscribe 
> [#1639]
>
>       No change from V1..
>
>       SAF version for ntfsend, ntfread and ntfsubscribe is updated from 
> A.01.01 to
>       A.01.02. On a non member node all these commands will exit.
>
> changeset a2af4e8a5fdeb22cda818fe229a92bc2f0e1d40c
> Author:       praveen.malv...@oracle.com
> Date: Tue, 29 Mar 2016 14:19:20 +0530
>
>       ntf/tests: add test cases for NTF functionality [#1639]
>
>       No change from V1.
>
>       New file tet_ntf_clm.c contains new test cases for testing this
>       funtionality. On a non-member node, ntf APIs must return
>       SA_AIS_ERR_UNAVAILABLE.
>
>
> Complete diffstat:
> ------------------
>   osaf/libs/agents/saf/ntfa/ntfa.h              |    2 +
>   osaf/libs/agents/saf/ntfa/ntfa_api.c          |  226 
> +++++++++++++++++++++++++-
>   osaf/libs/agents/saf/ntfa/ntfa_mds.c          |   52 ++++++
>   osaf/libs/agents/saf/ntfa/ntfa_util.c         |    3 +
>   osaf/libs/common/ntfsv/include/ntfsv_defs.h   |    6 +-
>   osaf/libs/common/ntfsv/include/ntfsv_msg.h    |    7 +
>   osaf/services/saf/ntfsv/README                |   74 ++++++++
>   osaf/services/saf/ntfsv/ntfs/Makefile.am      |    2 +
>   osaf/services/saf/ntfsv/ntfs/NtfAdmin.cc      |  203 
> +++++++++++++++++++++++-
>   osaf/services/saf/ntfsv/ntfs/NtfAdmin.hh      |   10 +-
>   osaf/services/saf/ntfsv/ntfs/NtfClient.cc     |   42 +++++
>   osaf/services/saf/ntfsv/ntfs/NtfClient.hh     |    4 +
>   osaf/services/saf/ntfsv/ntfs/ntfs.h           |    1 +
>   osaf/services/saf/ntfsv/ntfs/ntfs_cb.h        |    5 +
>   osaf/services/saf/ntfsv/ntfs/ntfs_clm.c       |  124 ++++++++++++++
>   osaf/services/saf/ntfsv/ntfs/ntfs_com.c       |   50 +++++-
>   osaf/services/saf/ntfsv/ntfs/ntfs_com.h       |   23 ++-
>   osaf/services/saf/ntfsv/ntfs/ntfs_evt.c       |   71 ++++++++-
>   osaf/services/saf/ntfsv/ntfs/ntfs_main.c      |   28 +++
>   osaf/services/saf/ntfsv/ntfs/ntfs_mbcsv.c     |   48 ++++-
>   osaf/services/saf/ntfsv/ntfs/ntfs_mbcsv.h     |    4 +-
>   osaf/services/saf/ntfsv/ntfs/ntfs_mds.c       |   55 ++++++
>   osaf/tools/safntf/ntfread/ntfread.c           |    2 +-
>   osaf/tools/safntf/ntfsend/ntfsend.c           |    2 +-
>   osaf/tools/safntf/ntfsubscribe/ntfsubscribe.c |    2 +-
>   tests/ntfsv/Makefile.am                       |    3 +-
>   tests/ntfsv/tet_ntf_clm.c                     |  501 
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>   tests/ntfsv/tet_ntf_common.h                  |    7 +
>   tests/ntfsv/tet_ntf_main.c                    |    4 +-
>   29 files changed, 1520 insertions(+), 41 deletions(-)
>
>
> Testing Commands:
> -----------------
> Executed newly added test cases.
> Also tested non-recovery of A.01.02 clients
> by stopping OpenSAF on payload node during headless state.
>
> Testing, Expected Results:
> --------------------------
> All above test cases passed.
>
> Conditions of Submission:
> -------------------------
> Ack from any reviewer.
>
> Arch      Built     Started    Linux distro
> -------------------------------------------
> mips        n          n
> mips64      n          n
> x86         n          n
> x86_64      y          y
> powerpc     n          n
> powerpc64   n          n
>
>
> Reviewer Checklist:
> -------------------
> [Submitters: make sure that your review doesn't trigger any checkmarks!]
>
>
> Your checkin has not passed review because (see checked entries):
>
> ___ Your RR template is generally incomplete; it has too many blank entries
>      that need proper data filled in.
>
> ___ You have failed to nominate the proper persons for review and push.
>
> ___ Your patches do not have proper short+long header
>
> ___ You have grammar/spelling in your header that is unacceptable.
>
> ___ You have exceeded a sensible line length in your headers/comments/text.
>
> ___ You have failed to put in a proper Trac Ticket # into your commits.
>
> ___ You have incorrectly put/left internal data in your comments/files
>      (i.e. internal bug tracking tool IDs, product names etc)
>
> ___ You have not given any evidence of testing beyond basic build tests.
>      Demonstrate some level of runtime or other sanity testing.
>
> ___ You have ^M present in some of your files. These have to be removed.
>
> ___ You have needlessly changed whitespace or added whitespace crimes
>      like trailing spaces, or spaces before tabs.
>
> ___ You have mixed real technical changes with whitespace and other
>      cosmetic code cleanup changes. These have to be separate commits.
>
> ___ You need to refactor your submission into logical chunks; there is
>      too much content into a single commit.
>
> ___ You have extraneous garbage in your review (merge commits etc)
>
> ___ You have giant attachments which should never have been sent;
>      Instead you should place your content in a public tree to be pulled.
>
> ___ You have too many commits attached to an e-mail; resend as threaded
>      commits, or place in a public tree for a pull.
>
> ___ You have resent this content multiple times without a clear indication
>      of what has changed between each re-send.
>
> ___ You have failed to adequately and individually address all of the
>      comments and change requests that were proposed in the initial review.
>
> ___ You have a misconfigured ~/.hgrc file (i.e. username, email etc)
>
> ___ Your computer have a badly configured date and time; confusing the
>      the threaded patch review.
>
> ___ Your changes affect IPC mechanism, and you don't present any results
>      for in-service upgradability test.
>
> ___ Your changes affect user manual and documentation, your patch series
>      do not contain the patch that updates the Doxygen manual.
>
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
> _______________________________________________
> Opensaf-devel mailing list
> Opensaf-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel
>


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to