Summary: amfd: allow SA_AIS_ERR_BAD_OPERATION to be returned to caller of nodegroup op [#1559] Review request for Trac Ticket(s): 1559 Peer Reviewer(s): AMF devs Pull request to: AMF maintainers Affected branch(es): default, opensaf-4.6.x, opensaf-4.7.x 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): --------------------------------------------- changeset 7e1f22c42d59671f19cd98c754ad1818a8fd210a Author: Gary Lee <[email protected]> Date: Fri, 23 Oct 2015 16:06:36 +1100 amfd: allow SA_AIS_ERR_BAD_OPERATION to be returned to caller of nodegroup op [#1559] Assume an SU is in SA_AMF_PRESENCE_INSTANTIATION_FAILED or SA_AMF_PRESENCE_TERMINATION_FAILED state. If an admin operation is issued on a nodegroup hosting this SU, currently TRY_AGAIN is returned to the caller. This may result in unnecessary retries. It would be more appropriate to proprogate SA_AIS_ERR_BAD_OPERATION from AVD_SU::check_su_stability() to the caller. Complete diffstat: ------------------ osaf/services/saf/amf/amfd/nodegroup.cc | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) Testing Commands: ----------------- 1. Change amf_demo_script to cause instantiation failure on one of the SUs 2. Load AppConfig-nwayactive.xml 3. Create a nodegroup immcfg -c SaAmfNodeGroup safAmfNodeGroup=scale_in_shutdown,safAmfCluster=myAmfCluster -a saAmfNGAdminState=3 -a saAmfNGNodeList=safAmfNode=PL-3,safAmfCluster=myAmfCluster immcfg safAmfNodeGroup=scale_in_shutdown,safAmfCluster=myAmfCluster -a saAmfNGNodeList+=safAmfNode=PL-4,safAmfCluster=myAmfCluster immcfg safAmfNodeGroup=scale_in_shutdown,safAmfCluster=myAmfCluster -a saAmfNGNodeList+=safAmfNode=PL-5,safAmfCluster=myAmfCluster amf-adm unlock-in safAmfNodeGroup=scale_in_shutdown,safAmfCluster=myAmfCluster amf-adm unlock safAmfNodeGroup=scale_in_shutdown,safAmfCluster=myAmfCluster 4. Start amf_demo amf-adm unlock-in safSu=SU1,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock-in safSu=SU2,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock-in safSu=SU3,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock-in safSu=SU4,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock-in safSu=SU5,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock safSu=SU1,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock safSu=SU2,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock safSu=SU3,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock safSu=SU4,safSg=AmfDemo,safApp=AmfDemo2 amf-adm unlock safSu=SU5,safSg=AmfDemo,safApp=AmfDemo2 5. Shutdown the nodegroup amf-adm -t 3600 shutdown safAmfNodeGroup=scale_in_shutdown,safAmfCluster=myAmfCluster Testing, Expected Results: -------------------------- Step 4 should result in the affected SU to be in this state: safSu=SU1,safSg=AmfDemo,safApp=AmfDemo2 saAmfSUAdminState=UNLOCKED(1) saAmfSUOperState=DISABLED(2) saAmfSUPresenceState=INSTANTIATION-FAILED(6) saAmfSUReadinessState=OUT-OF-SERVICE(1) Step 5 should return immediately with: error - saImmOmAdminOperationInvoke_2 admin-op RETURNED: SA_AIS_ERR_BAD_OPERATION (20) error-string: Some entity is unstable, Operation cannot be performed on 'safAmfNodeGroup=scale_in_shutdown,safAmfCluster=myAmfCluster'Check syslog for entity details 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. ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
