osaf/services/saf/ntfsv/README |  74 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)


No change from V1.

Added information for:
-details of implementation.
-changes at NTFS.
-changes at NTFA.

diff --git a/osaf/services/saf/ntfsv/README b/osaf/services/saf/ntfsv/README
--- a/osaf/services/saf/ntfsv/README
+++ b/osaf/services/saf/ntfsv/README
@@ -261,7 +261,81 @@ Currently a simple unit test can be foun
 is built by the main make system and is either install by 'make install' or by
 installing the tools rpm.
 
+Integration of NTFSv with CLM service for return code SA_AIS_ERR_UNAVAILABLE. 
+====================================================================
+Current implementation of NTFSv conforms to A.01.01 spec and this spec version
+does not talk about unavailability of the NTFSv APIs on a CLM Non-Member Node.
+Intergartion of NTFSv with CLM is mentioned in the A.02.01 spec in the section 
+"3.13 Unavailability of the Notification Service API on a Non-Member Node" 
page no. 42.
+For OpenSAF release 5.0, enhancement ticket 
https://sourceforge.net/p/opensaf/tickets/1639/
+is intended to provide this functionality for A.01.01 APIs. This enhancement 
does not
+implement any new API of A.02.01.
 
+Implementation Notes for NTF-CLM integration:
+============================================
+As a part of \#1639, minor version of NTF service is updated to 02, so 
+highest supported version will be A.01.02. Update to the minor version is done
+keeping in mind following facts:
+
+1)A A.01.01 user will not be ready to handle SA_AIS_ERR_UNAVAILABLE.
+2)A new NTF user can initialize with A.01.02 for the impact of CLM membership
+  status of node on application and for getting A.01.01 functionality at the 
same
+  time.
+3)All OpenSAF middleware services which are integrated with NTFs should not be 
impacted
+  because of membership status of node. 
+
+Thus there is a minor deviation from spec in following ways:
+1)An application trying to initialize with A.01.01 will get A.01.01 as returned
+version not the highest supported version A.01.02.
+2)An application trying to initialize other than A.01.01 will get returned 
version A.01.02.
+
+Changes at NTFS (NTF-CLM integration):
+=========================================
+1)Now NTFS (both active and standby) maintains saf version of the client (in 
class NtfClient)
+  to differentiate between A.01.02 and A.01.01 (in future A.02.01 and A.03.01).
+2)Active NTFS now checkpoints SAF version of the clients along with mdsDest 
and client_id. For
+  this its MBCSV version is upgraded and now it remembers its peer MBCSV 
version also.
+3)NtfAdmin maintains a list of nodes which are member nodes (in class 
NtfAdmin).
+  It also provides memeber functions and their wrappers for accessing this 
list. 
+4)NTFs subscribes for CLM service to track clm membership status of node.
+  For this new file ntf_clm.c has been introduced. As of now subscription to 
CLM service
+  is done when NTFS gets up event for AVD(through MDS). The reason: CLMSv is 
started after NTFSV
+  and CLMSv is client of NTFSv. In the abscence of CLMSV during start up, 
initial
+  membership status of node is a member-node. In 5.1 release, after cluster 
management 
+  enhancement \#439 this may require minor changes.
+5)Upon receiving CLM track callback, NTFS (both active and standby) updates 
its membership 
+  list for new change only like a new node join cluster or existing node lost 
CLM membership status. 
+  After updating list, only active NTFS will send changed membership status to 
all the clients, 
+  excluding A.01.01, on that node. For this a new callback message structure 
ntfsv_ntfa_clm_status_cbk_t
+  is introduce in main callback structure ntfsv_cbk_info_t.
+6)Every time a new A.01.02 agent comes up on any node, it is initialized only 
after verfifying the 
+  CLM membership status of its node.
+
+Changes at NTFA (NTF-CLM integration):
+=========================================
+1)NTFA maintains membership status of its node in ntfa_cb->clm_node_state. It 
is updated
+  when NTFS sends membership status through MDS message.
+2)A client at NTFA now maintains its SAF version(client->version) and 
+  its own validity (client->is_stale_client) because of membership status of 
node. A client
+  becomes stale if its node loses cluster membership.
+3)Each API (except saNtfFinalize()) now checks validity of client with respect 
to CLM 
+  membership for returning SA_AIS_ERR_UNAVAILABLE.
+4)Upon receiving membership status of node from NTFS, NTFA updates 
ntfa_cb->clm_node_state and 
+  mark client as a stale client. For such a client all API calls (except 
saNtfFinalize()) will 
+  result in SA_AIS_ERR_UNAVAILABLE. A user is expected to call saNtfFinalize() 
in this case.
+
+Other Changes and tests (NTF-CLM integration):
+===================================
+1)SAF version of commands  ntfread, ntfsend and ntfsubscribe is now updated to 
A.01.02.
+2)New file tests/ntfsv/tet_ntf_clm.c contains tests for this functionality. 
For running
+  these tests atleast two nodes are required as CLM admin operation are not 
supported on active
+  controller. These tests are not included in the testlist if run on active 
controller.
+
+TODOs (NTF-CLM integration):
+=============================
+1)Forced admin lock of CLM node when shutdown operation is going on. For this,
+  NTFS must track CLM with SA_CLM_CHANGE_START also.
+   
 ITEMS TO BE DONE:
 -----------------
 Cleanup:

------------------------------------------------------------------------------
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