osaf/services/saf/amf/amfnd/susm.cc |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)


In the reported problem, AMFND sends multiple mode-switchover recovery request
for same fault when nodeautorepair is disabled. Sometimes, amfnd is successful
in sending the request but it may crash also.

In the reported problem, AMFND reports node-switchover recovery to AMFD. AMFD
removes assignments gracefully and does not reboot the node as nodeautorepair
is disabled. After this user deletes the faulty SU after perofrming lock and 
lock-in
admin operations. Same SU is added again and instantiated. AMFND while 
instantiating
the SU, sends recovery request to AMFD again for the same fault.

Patch resets failed_su in avnd_cb so that recovery request is not sent
for same fault again.

diff --git a/osaf/services/saf/amf/amfnd/susm.cc 
b/osaf/services/saf/amf/amfnd/susm.cc
--- a/osaf/services/saf/amf/amfnd/susm.cc
+++ b/osaf/services/saf/amf/amfnd/susm.cc
@@ -1413,6 +1413,7 @@ static void perform_pending_nodeswitchov
                if (su->sufailover == false) {
                        uint32_t rc = avnd_di_oper_send(avnd_cb, su, 
SA_AMF_NODE_SWITCHOVER);
                        osafassert(NCSCC_RC_SUCCESS == rc);
+                       avnd_cb->failed_su = nullptr;
                }
        }
 
@@ -1478,7 +1479,7 @@ uint32_t avnd_su_pres_fsm_run(AVND_CB *c
                goto done;
         } else if ((cb->term_state == AVND_TERM_STATE_NODE_SWITCHOVER_STARTED) 
&&
                        (cb->oper_state == SA_AMF_OPERATIONAL_DISABLED) && 
-                       (su->sufailover == false)) {
+                       (su->sufailover == false) && (cb->failed_su != 
nullptr)) {
                perform_pending_nodeswitchover();
        }
                

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to