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


Escalation is configured in the way that just one component restart can lead
to su failover. If the clc cleanup script returns error, the component fails
into TERMINATION_FAILED state. The AMF repair command also fails afterward,
because component can not register healthcheck callback with error code 14
(SA_AIS_ERR_EXIST) returned from amfnd.

If clc cleanup succeeds, amfnd will delete component info.
But if cleanup fails, amfnd currently does not delete component info.
At the other escalation configuration, which more component restart leads
to su failover, amfnd does delete component info at the first component
restart recovery. Therefore, if component fails into TERMINAITON_FAILED
later on, the healthcheck won't get error in repair.

diff --git a/osaf/services/saf/amf/amfnd/clc.cc 
b/osaf/services/saf/amf/amfnd/clc.cc
--- a/osaf/services/saf/amf/amfnd/clc.cc
+++ b/osaf/services/saf/amf/amfnd/clc.cc
@@ -2261,7 +2261,7 @@ uint32_t avnd_comp_clc_terming_cleanfail
 
        /* just transition to 'term-failed' state */
        avnd_comp_pres_state_set(comp, SA_AMF_PRESENCE_TERMINATION_FAILED);
-
+       avnd_comp_curr_info_del(cb, comp);
        if ((cb->term_state == AVND_TERM_STATE_OPENSAF_SHUTDOWN_STARTED) &&
                        all_comps_terminated()) {
                LOG_WA("Terminated all AMF components (with failures)");

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

Reply via email to