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