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

Reply via email to