Summary: Fix MDS auth support Review request for Trac Ticket(s): 1024 Peer Reviewer(s): Neel & Mahesh Pull request to: <<LIST THE PERSON WITH PUSH ACCESS HERE>> Affected branch(es): 4.5 & 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 n OpenSAF services n Core libraries y Samples n Tests n Other n Comments (indicate scope for each "y" above): --------------------------------------------- changeset a166f286c0a5e49e4bcd4e91fb0df7478c6126a9 Author: Hans Feldt <[email protected]> Date: Tue, 02 Sep 2014 08:33:24 +0200 mds: make process_info_db independent of control block [#1024] The process_info_db needs to be available early before MDS is initialized. So its initialization is moved to mds_auth_server_create(). The patricia tree cannot be located in the control block which is dynamically created so it is now statically allocated. Create process info upon two events, SVC UP and registration using connected socket. In case SVC UP comes first, credentials are left empty until socket registration fills them in. Complete diffstat: ------------------ osaf/libs/core/mds/include/mds_core.h | 7 ++++--- osaf/libs/core/mds/mds_c_api.c | 27 ++++++++++++++++++--------- osaf/libs/core/mds/mds_c_db.c | 37 +++++++++++++++++++++++++++++++------ osaf/libs/core/mds/mds_dt_common.c | 5 +++-- osaf/libs/core/mds/mds_main.c | 17 ++++++++++++++--- 5 files changed, 70 insertions(+), 23 deletions(-) Testing Commands: ----------------- Start single node cluster with trace enabled for immnd trace for auth related events: $ tail -f /var/log/opensaf/osafimmnd | egrep process_info\|DOWN start a client program that initialize both IMM OM and OI, sleeps and finalize handles restart immnd Testing, Expected Results: -------------------------- Sep 2 8:28:59.625676 osafimmnd [17809:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:26, adest:2010f000049e7 Sep 2 8:28:59.625708 osafimmnd [17809:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f000049e7, pid:0 Sep 2 8:28:59.627564 osafimmnd [17809:mds_c_api.c:1605] TR svc UP process_info EXIST, svc:27 cnt:2, adest:2010f000049e7 <hafe>: test program started, process_info created with a use count of 2 Sep 2 8:29:02.227764 osafimmnd [17809:mds_c_api.c:2675] TR svc 27 DOWN cnt:1, adest:2010f000049e7 Sep 2 8:29:02.227903 osafimmnd [17809:mds_c_api.c:2675] TR svc 26 DOWN cnt:0, adest:2010f000049e7 Sep 2 8:29:02.227929 osafimmnd [17809:mds_c_db.c:2361] >> mds_process_info_del: dest:2010f000049e7, pid:18919 Sep 2 8:29:02.227947 osafimmnd [17809:immnd_evt.c:9614] T2 IMMA DOWN EVENT Sep 2 8:29:02.228283 osafimmnd [17809:immnd_evt.c:9614] T2 IMMA DOWN EVENT <hafe>: test program killed (CTRL-C), process_info delete since use count got 0 Sep 2 8:29:20.505577 osafimmnd [17809:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:26, adest:2010f00004afe Sep 2 8:29:20.505609 osafimmnd [17809:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004afe, pid:0 Sep 2 8:29:20.507480 osafimmnd [17809:mds_c_api.c:1605] TR svc UP process_info EXIST, svc:27 cnt:2, adest:2010f00004afe <hafe>: test program started again Sep 2 8:29:23.330574 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:24, adest:2010f00004b52 Sep 2 8:29:23.330596 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004b52, pid:0 Sep 2 8:29:23.330703 osafimmnd [19288:mds_c_api.c:1605] TR svc UP process_info EXIST, svc:24 cnt:2, adest:2010f00004b52 Sep 2 8:29:23.330732 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:26, adest:2010f00004afe Sep 2 8:29:23.330743 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004afe, pid:0 Sep 2 8:29:23.330800 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:26, adest:2010f00004613 Sep 2 8:29:23.330811 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004613, pid:0 Sep 2 8:29:23.330873 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:26, adest:2010f000045f8 Sep 2 8:29:23.330884 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f000045f8, pid:0 Sep 2 8:29:23.330938 osafimmnd [19288:mds_c_api.c:1605] TR svc UP process_info EXIST, svc:27 cnt:2, adest:2010f00004afe Sep 2 8:29:23.331012 osafimmnd [19288:mds_c_api.c:1605] TR svc UP process_info EXIST, svc:27 cnt:2, adest:2010f00004613 Sep 2 8:29:23.331070 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:27, adest:2010f00004699 Sep 2 8:29:23.331081 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004699, pid:0 Sep 2 8:29:23.331181 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:27, adest:2010f00004690 Sep 2 8:29:23.331202 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004690, pid:0 Sep 2 8:29:23.331347 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:27, adest:2010f00004667 Sep 2 8:29:23.331371 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004667, pid:0 Sep 2 8:29:23.331483 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:27, adest:2010f00004624 Sep 2 8:29:23.331530 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004624, pid:0 Sep 2 8:29:23.331632 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:27, adest:2010f0000462e Sep 2 8:29:23.331652 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f0000462e, pid:0 Sep 2 8:29:23.331791 osafimmnd [19288:mds_c_api.c:1605] TR svc UP process_info EXIST, svc:27 cnt:2, adest:2010f000045f8 Sep 2 8:29:23.331893 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:27, adest:2010f000045e7 Sep 2 8:29:23.331912 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f000045e7, pid:0 Sep 2 8:29:23.332006 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:27, adest:2010f000045d2 Sep 2 8:29:23.332025 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f000045d2, pid:0 Sep 2 8:29:23.332522 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:13, adest:2010f00004601 Sep 2 8:29:23.332542 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004601, pid:0 Sep 2 8:29:26.248856 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:26, adest:2010f00004b84 Sep 2 8:29:26.248888 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004b84, pid:0 Sep 2 8:29:26.623398 osafimmnd [19288:mds_c_api.c:2675] TR svc 26 DOWN cnt:0, adest:2010f00004b84 Sep 2 8:29:26.623426 osafimmnd [19288:mds_c_db.c:2361] >> mds_process_info_del: dest:2010f00004b84, pid:19332 Sep 2 8:29:26.623568 osafimmnd [19288:immnd_evt.c:9614] T2 IMMA DOWN EVENT Sep 2 8:29:33.884039 osafimmnd [19288:mds_c_api.c:2675] TR svc 27 DOWN cnt:1, adest:2010f00004afe Sep 2 8:29:33.884169 osafimmnd [19288:mds_c_api.c:2675] TR svc 26 DOWN cnt:0, adest:2010f00004afe Sep 2 8:29:33.884188 osafimmnd [19288:mds_c_db.c:2361] >> mds_process_info_del: dest:2010f00004afe, pid:19198 Sep 2 8:29:33.884325 osafimmnd [19288:immnd_evt.c:9614] T2 IMMA DOWN EVENT Sep 2 8:29:33.884517 osafimmnd [19288:immnd_evt.c:9614] T2 IMMA DOWN EVENT <hafe> test program finalizes and terminates Sep 2 8:30:00.071266 osafimmnd [19288:mds_c_api.c:1614] TR svc UP process_info NOTEXIST, svc:26, adest:2010f00004d49 Sep 2 8:30:00.071295 osafimmnd [19288:mds_c_db.c:2352] >> mds_process_info_add: dest:2010f00004d49, pid:0 Sep 2 8:30:00.091304 osafimmnd [19288:mds_c_api.c:2675] TR svc 26 DOWN cnt:0, adest:2010f00004d49 Sep 2 8:30:00.091324 osafimmnd [19288:mds_c_db.c:2361] >> mds_process_info_del: dest:2010f00004d49, pid:19785 Sep 2 8:30:00.091431 osafimmnd [19288:immnd_evt.c:9614] T2 IMMA DOWN EVENT <hafe> run of immfind Conditions of Submission: ------------------------- Arch Built Started Linux distro ------------------------------------------- mips n n mips64 n n x86 n n x86_64 n n 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. ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
