Summary: amfd: Respect saAmfSGNumPrefAssignedSUs configuration in nway and nway-active [#584] Review request for Trac Ticket(s): 584 Peer Reviewer(s): Hans F, Hans N, Nagendra Pull request to: Affected branch(es): default Development branch: default
-------------------------------- 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): --------------------------------------------- <<EXPLAIN/COMMENT THE PATCH SERIES HERE>> changeset a7a95eba4d7d581e8b0a4eb5e8fc22f8e715011c Author: Minh Hon Chau <[email protected]> Date: Mon, 07 Apr 2014 16:35:12 +1000 #amfd: aAmfSGNumPrefAssignedSUs is not respected in nway-active [#584] #Problem: The implementation has not respected the AMF spec #according to the configuration of saAmfSGNumPrefAssignedSUs #Analysis: In AMF spec, the 3.6.4.3 and 3.6.5.3 mention that the saAmfSGNumPrefAssignedSUs affected in assignment in nway and nway-active sg #Change: Skip the SI assignment for the unassigned SU if the current number of assigned SU exceeding the saAmfSGNumPrefAssignedSUs Complete diffstat: ------------------ osaf/services/saf/amf/amfd/include/sg.h | 2 +- osaf/services/saf/amf/amfd/sg.cc | 21 +++++++++++++++++++++ osaf/services/saf/amf/amfd/sg_nway_fsm.cc | 27 +++++++++++++++++++++++++++ osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc | 24 ++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 1 deletions(-) Testing Commands: ----------------- - Load nway (or nway-active) model with 3 SUs hosted in payloads - Configure saAmfSGNumPrefAssignedSUs=2 - unlock-in/unlock all SUs in model Testing, Expected Results: -------------------------- . Load nway-active model (before patch) safSISU=safSu=SU4\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU3\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU5\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) . Load nway-active model (after patch) safSISU=safSu=SU3\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU4\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) . Load nway model (before patch) safSISU=safSu=SU3\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo3,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU4\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo4,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU4\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo3,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) safSISU=safSu=SU3\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo4,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) safSISU=safSu=SU5\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo5,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU5\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo3,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) safSISU=safSu=SU5\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo4,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) safSISU=safSu=SU4\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo5,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) safSISU=safSu=SU3\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo5,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) . Load nway model (after patch) safSISU=safSu=SU3\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo3,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU4\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo4,safApp=AmfDemo2 saAmfSISUHAState=ACTIVE(1) safSISU=safSu=SU4\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo3,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) safSISU=safSu=SU3\,safSg=AmfDemo\,safApp=AmfDemo2,safSi=AmfDemo4,safApp=AmfDemo2 saAmfSISUHAState=STANDBY(2) Conditions of Submission: ------------------------- <<HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC>> 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. ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees_APR _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
