Hi Thang,

ACK (code review, not test).

Best Regards,
ThuanTr

-----Original Message-----
From: Thang Duc Nguyen <thang.d.ngu...@dektech.com.au> 
Sent: Friday, February 14, 2020 4:42 PM
To: Minh Hon Chau <minh.c...@dektech.com.au>; Gary Lee 
<gary....@dektech.com.au>; Thuan Tran <thuan.t...@dektech.com.au>
Cc: opensaf-devel@lists.sourceforge.net; Thang Duc Nguyen 
<thang.d.ngu...@dektech.com.au>
Subject: [PATCH 1/1] amfnd: trigger SU FSM [#3152]

With SU contains more 2 components. During start up, if component_1
is instanted and component_2 is in instantiating. Restart adm op is
invoked on component_1. Then component_2 is instantiated following
by component_1 re-instantiated. The SU will be stuc in INSTANTIATING
presence state.
---
 src/amf/amfnd/clc.cc | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/amf/amfnd/clc.cc b/src/amf/amfnd/clc.cc
index 4e1a84419..de57838c9 100644
--- a/src/amf/amfnd/clc.cc
+++ b/src/amf/amfnd/clc.cc
@@ -926,7 +926,6 @@ uint32_t avnd_comp_clc_st_chng_prc(AVND_CB *cb, AVND_COMP 
*comp,
   AVND_SU_PRES_FSM_EV ev = AVND_SU_PRES_FSM_EV_MAX;
   AVND_COMP_CSI_REC *csi = 0;
   bool is_en;
-  bool pi_comp_recover = false;
   uint32_t rc = NCSCC_RC_SUCCESS;
   TRACE_ENTER2("Comp '%s', Prv_state '%s', Final_state '%s'",
                comp->name.c_str(), presence_state[prv_st],
@@ -949,12 +948,6 @@ uint32_t avnd_comp_clc_st_chng_prc(AVND_CB *cb, AVND_COMP 
*comp,
     }
   }
 
-  if ((comp->admin_oper == false) &&
-      (prv_st == SA_AMF_PRESENCE_RESTARTING) &&
-      m_AVND_COMP_TYPE_IS_PREINSTANTIABLE(comp)) {
-    pi_comp_recover = true;
-  }
-
   /* reset the admin-oper flag to false */
   if ((comp->admin_oper == true) &&
       (final_st == SA_AMF_PRESENCE_INSTANTIATED)) {
@@ -1496,8 +1489,9 @@ uint32_t avnd_comp_clc_st_chng_prc(AVND_CB *cb, AVND_COMP 
*comp,
              (SA_AMF_PRESENCE_ORPHANED != prv_st) &&
              ((prv_st == SA_AMF_PRESENCE_INSTANTIATING) ||
               (prv_st == SA_AMF_PRESENCE_TERMINATING) ||
-              (comp->su->admin_op_Id == SA_AMF_ADMIN_RESTART) ||
-              pi_comp_recover))
+              ((prv_st == SA_AMF_PRESENCE_RESTARTING) &&
+                m_AVND_COMP_TYPE_IS_PREINSTANTIABLE(comp)) ||
+              (comp->su->admin_op_Id == SA_AMF_ADMIN_RESTART)))
       ev = AVND_SU_PRES_FSM_EV_COMP_INSTANTIATED;
     else if (SA_AMF_PRESENCE_INSTANTIATION_FAILED == final_st)
       ev = AVND_SU_PRES_FSM_EV_COMP_INST_FAIL;
-- 
2.17.1



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

Reply via email to