Summary: Support for CSI attribute change callback. [#1553] Review request for Trac Ticket(s): #1553 Peer Reviewer(s): AMF maintainers Pull request to: <<LIST THE PERSON WITH PUSH ACCESS HERE>> Affected branch(es): default(5.1) 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): --------------------------------------------- TODOs: 1)Invocation of INSTANTIATE command for a Non Proxied NPI component. 2)Introduce saAmf_B_04_02.h for new resources at agent. 3)These patches are old (work done in 5.0), so re-base over #1642(AMF long dn) and other C++ refactoring. 4)These are old patches submitted in 5.0 and currently rebased for 5.1. Refactor them for C++. changeset 3a558f178b570eb0cd1ba32d2312ad4a54d806d3 Author: praveen.malv...@oracle.com Date: Mon, 15 Aug 2016 20:13:21 +0530 amf: add README for implementation details [#1553] Contains information related to: -details of implementation. -changes at AMFD. -changes at AMFND. -changes at AMFA. changeset ab6e632ea3be607623f1ddaca50b55bbb0b96b51 Author: praveen.malv...@oracle.com Date: Mon, 15 Aug 2016 20:17:49 +0530 amf: update saAmf.h for new intialize API, callback and callback structure [#1553]. Added in saAmf.h: -OsafCsiAttributeChangeCallbackT -SaAmfCallbacksT_5() -saAmfInitialize_5( SaAmfHandleT *amfHandle, const SaAmfCallbacksT_5 *amfCallbacks, SaVersionT *version); TODO: Move all this new resources in saAmf_B_04_01. Details are in published README. changeset 8b41e99f3fb63f92fc77aa0c776c7f16fc5b030c Author: praveen.malv...@oracle.com Date: Mon, 15 Aug 2016 20:17:58 +0530 amf: add new D2ND message and new ND to Agent message. [#1553] -New message structure to be used by AMFD to send COMPCSI related information to AMFND. -New internal callback message AVSV_AMF_CSI_ATTR_CHANGE_PARAM from AMFND to agent to support newly introduced callback. changeset d6b7c8391c874932866aa0dcd65cb7de2d4df652 Author: praveen.malv...@oracle.com Date: Mon, 15 Aug 2016 20:18:07 +0530 amfd: send msg to AMFND upon modification of safCsiAttr [#1553] Contains: 1)Support for new attribute osafAmfCSICommunicateCsiAttributeChange in class SaAmfCSI. 2)Upon modification of CSI attribute value for a object of class SaAmfCSIAttribute, AMFD will send a message to AMFND with new list. For a NON PROXIED NPI component, message will not be sent if osafAmfCSICommunicateCsiAttributeChange is false. 3)AMFD now also maintains MDS install version of all AMFNDs in std::map<SaClmNodeIdT, MDS_SVC_PVT_SUB_PART_VER> nds_mds_ver_db. It will be updated whenever AMFD gets MDS_UP and MDS_DOWN for AMFND. Using this AMFD can decide whether message is meant for particular AMFND much before encode callback given by MDS. changeset 52a348f88ab0dca4f20ed0662e2fd7f6fc4f494d Author: praveen.malv...@oracle.com Date: Mon, 15 Aug 2016 20:18:18 +0530 amfnd: add support for csi attribute change callback at amfnd. [#1553] Contains changes related to: 1)Upong receving CSI attribute list, update own databae with modified information. If compoent has registered with new callback OsafCsiAttributeChangeCallbackT, then send callback OsafCsiAttributeChangeCallbackT to AMF agent. TODO: For Non Proxied NPI component run INSTANTIATE command. 2)AMFND now maintains MDS install version of AMF AGENTs in std::map<MDS_DEST, MDS_SVC_PVT_SUB_PART_VER> agent_mds_ver_db. It will be updated whenever AMFND gets MDS_UP and MDS_DOWN for AMF Agent. 3)AMFND maintains now SAF version for each registered component. AMFND will get it from Agent through existing component registeration message. changeset 57e408c3ae5f8ccfa3a66f6645aebe83d52f7d7f Author: praveen.malv...@oracle.com Date: Mon, 15 Aug 2016 20:18:27 +0530 amfa: add support for csi attribute change callback at amfa. [#1553] 1)Because of different AMF callback struture correponding to each of B.01.01 B.04.01, this patch introduces an internal callback structure OsafAmfCallbacksT. It consists of callback from each AMF version. Callback for each intialization needs to be maintained internally in AVA_HDL_REC. With this internal structure, same handle can used interanlly for any saAmfInitialize_<*> of AMF service. Also added utility functions to copy callbacks from AMF callbacks structure to this internal one. AMF agent will use OsafAmfCallbacksT internally instead of SaAmfCallbacksT_<*>. 2)Implementation of saAmfInitialize_5() in ava_api.c. 3)Now saAmfRegister() also sends SAF version to AMFND. TODO:In saAmf_B_04_02, rename saAmfInitialize_5(0 to saAmfInitialize_o4(). changeset 66a87c96e7230fef0c1586314dc9b60986cfca8e Author: praveen.malv...@oracle.com Date: Mon, 15 Aug 2016 20:18:43 +0530 samples/amf: update amf sa-aware demo for CSI attribute change callback. [#1553] Complete diffstat: ------------------ osaf/libs/agents/saf/amfa/amf_agent.cc | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++- osaf/libs/agents/saf/amfa/ava_hdl.cc | 39 ++++++++----- osaf/libs/agents/saf/amfa/ava_mds.cc | 54 +++++++++++++++++++- osaf/libs/agents/saf/amfa/ava_op.cc | 61 +++++++++++++++++++++ osaf/libs/agents/saf/amfa/include/ava_cb.h | 6 ++ osaf/libs/agents/saf/amfa/include/ava_hdl.h | 22 +++++++- osaf/libs/agents/saf/amfa/include/ava_mds.h | 4 +- osaf/libs/common/amf/d2nedu.c | 19 ++++++- osaf/libs/common/amf/d2nmsg.c | 13 ++++ osaf/libs/common/amf/include/amf_amfparam.h | 10 +++ osaf/libs/common/amf/include/amf_d2nmsg.h | 29 ++++++++++ osaf/libs/common/amf/include/amf_n2avamsg.h | 3 + osaf/libs/common/amf/n2avamsg.c | 29 +++++++++- osaf/libs/saf/include/saAmf.h | 24 ++++++++ osaf/services/saf/amf/README | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ osaf/services/saf/amf/amfd/comp.cc | 18 ++++++ osaf/services/saf/amf/amfd/csi.cc | 24 ++++++++ osaf/services/saf/amf/amfd/csiattr.cc | 25 +++++++++ osaf/services/saf/amf/amfd/include/comp.h | 2 + osaf/services/saf/amf/amfd/include/csi.h | 2 + osaf/services/saf/amf/amfd/include/mds.h | 4 +- osaf/services/saf/amf/amfd/include/node.h | 2 +- osaf/services/saf/amf/amfd/include/util.h | 2 + osaf/services/saf/amf/amfd/mds.cc | 8 +- osaf/services/saf/amf/amfd/node.cc | 3 + osaf/services/saf/amf/amfd/util.cc | 97 ++++++++++++++++++++++++++++++++++- osaf/services/saf/amf/amfnd/amfnd.cc | 2 + osaf/services/saf/amf/amfnd/cbq.cc | 23 +++++++- osaf/services/saf/amf/amfnd/comp.cc | 42 +++++++++++++++ osaf/services/saf/amf/amfnd/compdb.cc | 4 + osaf/services/saf/amf/amfnd/err.cc | 4 +- osaf/services/saf/amf/amfnd/evt.cc | 2 + osaf/services/saf/amf/amfnd/include/avnd_cb.h | 2 + osaf/services/saf/amf/amfnd/include/avnd_comp.h | 2 +- osaf/services/saf/amf/amfnd/include/avnd_err.h | 2 + osaf/services/saf/amf/amfnd/include/avnd_evt.h | 1 + osaf/services/saf/amf/amfnd/include/avnd_mds.h | 6 +- osaf/services/saf/amf/amfnd/include/avnd_su.h | 2 + osaf/services/saf/amf/amfnd/main.cc | 1 + osaf/services/saf/amf/amfnd/mds.cc | 56 ++++++++++++++++++- osaf/services/saf/amf/amfnd/su.cc | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ osaf/services/saf/amf/amfnd/util.cc | 38 +++++++++++++- osaf/services/saf/amf/config/amf_classes.xml | 6 ++ samples/amf/sa_aware/AppConfig-2N.xml | 8 ++ samples/amf/sa_aware/README | 2 + samples/amf/sa_aware/amf_demo.c | 55 +++++++++++++++---- 46 files changed, 1158 insertions(+), 56 deletions(-) Testing Commands: ----------------- Tested PI amfd demo app for: 1)success case 2)when comp-fails during callback processing. Testing, Expected Results: -------------------------- PASS Conditions of Submission: ------------------------- Ack from reviewers before 5.1 FC 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. ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel