When SU goes into TERMINATION_FAILED because one of its components went to
TERMINATION_FAILED, amfnd will still send QUIESCED to those components,
even though they are already terminating. This can cause the SG to go into
unstable state, and get stuck.

IsCompQualifiedAssignment does not check for TERMINATION_FAILED state, so it
allows the CSI assignment to go even though the comp is already terminating.

Check for TERMINATION_FAILED state in IsCompQualifiedAssignment, and return
false if so.
---
 src/amf/amfnd/comp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amf/amfnd/comp.cc b/src/amf/amfnd/comp.cc
index 10c77a462..8a11d75fb 100644
--- a/src/amf/amfnd/comp.cc
+++ b/src/amf/amfnd/comp.cc
@@ -1492,7 +1492,8 @@ bool IsCompQualifiedAssignment(const AVND_COMP *comp) {
       LOG_IN("Ignoring Unregistered comp:'%s'", comp->name.c_str());
       rc = false;
     } else if (!m_AVND_COMP_PRES_STATE_IS_INSTANTIATED(comp) &&
-               comp->su->pres == SA_AMF_PRESENCE_INSTANTIATION_FAILED &&
+               (comp->su->pres == SA_AMF_PRESENCE_INSTANTIATION_FAILED ||
+               comp->su->pres == SA_AMF_PRESENCE_TERMINATION_FAILED) &&
                !m_AVND_COMP_PRES_STATE_IS_ORPHANED(comp)) {
       LOG_IN(
           "Ignoring comp with invalid presence state:'%s', comp_flag %x, 
comp_pres=%u, su_pres=%u",
-- 
2.21.1


-----------------------------------------------------------------------------------------------------------------------
Notice: This e-mail together with any attachments may contain information of 
Ribbon Communications Inc. that
is confidential and/or proprietary for the sole use of the intended recipient.  
Any review, disclosure, reliance or
distribution by others or forwarding without express permission is strictly 
prohibited.  If you are not the intended
recipient, please notify the sender immediately and then delete all copies, 
including any attachments.
-----------------------------------------------------------------------------------------------------------------------

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

Reply via email to