On 02-Apr-16 4:51 PM, Anders Widell wrote: > Hi! > > This change makes NTF depend on CLM. CLM already depends on NTF, so it > means we now have a circular dependency. As of now circular deps has been resolved by updating NTF version to A.01.02. All middle-ware services (AMF, PLM CLM and SMF) intialize with NTF with A.01.01, so they will not get ERR_UNAVAIlABLE. However as mentioned in README also, if there is change in init sequence of OpenSAF in 5.1, then some changes may come.
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. In which situation BAD_HANDLE will be returned. The two APIS that is being used works even on non-member nodes with only restriction that only local node status will be delivered through track callback. Thanks, Praveen > > 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 >> > ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel