The controller come up after reboot. The nored ncs SU was assigned
but it can not be done by active amfd due to reboot. At that time,
the amfd on this controller are not ready to take failover so it will
request again for nored ncs SU to amfnd. It will be failed due to already
assigned.
As consequence amfd can not have su-si record about this assignment.
And amfd can not update init_state to INIT_DONE. Then any node up event
after that will be ignored.
---
 src/amf/amfnd/di.cc | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/amf/amfnd/di.cc b/src/amf/amfnd/di.cc
index 2043c60..aa126c6 100644
--- a/src/amf/amfnd/di.cc
+++ b/src/amf/amfnd/di.cc
@@ -717,8 +717,16 @@ uint32_t avnd_evt_mds_avd_dn_evh(AVND_CB *cb, AVND_EVT 
*evt) {
 
   // check for pending messages FROM director
   // scan all SUs "siq" message list, if anyone is not empty reboot
+  // issue reboot if it is controller node
   for (su = avnd_sudb_rec_get_next(cb->sudb, ""); su != nullptr;
        su = avnd_sudb_rec_get_next(cb->sudb, su->name)) {
+    if (su->name.find("safSg=2N,safApp=OpenSAF") != std::string::npos) {
+        cb->reboot_in_progress = true;
+      opensaf_reboot(
+          avnd_cb->node_info.nodeId,
+          osaf_extended_name_borrow(&avnd_cb->node_info.executionEnvironment),
+          "local amfd has not synced with active yet");
+    }
     LOG_NO("Checking '%s' for pending messages", su->name.c_str());
 
     const AVND_SU_SIQ_REC *siq =
-- 
2.7.4



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

Reply via email to