There is a case that mismatch messge id between
AMFND and active AMFD. It causes the system unhealthy
(partial assigned).
Reboot the node that message mismatched to recover
the system.
---
 src/amf/amfd/sgproc.cc | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/amf/amfd/sgproc.cc b/src/amf/amfd/sgproc.cc
index 4da8e8b40..665a7c2da 100644
--- a/src/amf/amfd/sgproc.cc
+++ b/src/amf/amfd/sgproc.cc
@@ -1258,6 +1258,13 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb, AVD_EVT *evt) {
            AVSV_N2D_INFO_SU_SI_ASSIGN_MSG,
            n2d_msg->msg_info.n2d_su_si_assign.msg_id)) == nullptr) {
     /* sanity failed return */
+    // Force to reboot mismatch msg node to avoid partial_assigned
+    SaClmNodeIdT node_id = n2d_msg->msg_info.n2d_su_si_assign.node_id;
+    if ((node = avd_node_find_nodeid(node_id)) == nullptr) {
+      LOG_WA("%s: invalid node ID (%x)", __FUNCTION__, node_id);
+    } else {
+      avd_d2n_reboot_snd(node);
+    }
     goto done;
   }
 
-- 
2.25.1



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to