osaf/services/saf/amf/amfd/siass.cc |  2 ++
 osaf/services/saf/amf/amfd/su.cc    |  9 +++++----
 2 files changed, 7 insertions(+), 4 deletions(-)


The reason for restoring absent susi is to failover it to other present
susi(s) which could be in transient states. This happens only with SG
types like 2N, Npm, Nway, and not applicable for Nway Active and NoRed

diff --git a/osaf/services/saf/amf/amfd/siass.cc 
b/osaf/services/saf/amf/amfd/siass.cc
--- a/osaf/services/saf/amf/amfd/siass.cc
+++ b/osaf/services/saf/amf/amfd/siass.cc
@@ -281,6 +281,8 @@ void avd_susi_read_headless_cached_rta(A
                                avd_ng_restore_headless_states(cb, susi);
                } else { // For ABSENT SUSI
                        if (su->sg_of_su->sg_ncs_spec == false &&
+                               su->sg_of_su->sg_redundancy_model != 
SA_AMF_NO_REDUNDANCY_MODEL &&
+                               su->sg_of_su->sg_redundancy_model != 
SA_AMF_N_WAY_ACTIVE_REDUNDANCY_MODEL &&
                                (su->sg_of_su->any_assignment_in_progress() == 
true ||
                                su->sg_of_su->any_assignment_assigned() == 
true)) {
 
diff --git a/osaf/services/saf/amf/amfd/su.cc b/osaf/services/saf/amf/amfd/su.cc
--- a/osaf/services/saf/amf/amfd/su.cc
+++ b/osaf/services/saf/amf/amfd/su.cc
@@ -827,10 +827,6 @@ void AVD_SU::set_oper_state(SaAmfOperati
 void AVD_SU::set_readiness_state(SaAmfReadinessStateT readiness_state) {
        TRACE_ENTER2("'%s' %s", name.c_str(),
                avd_readiness_state_name[readiness_state]);
-       saflog(LOG_NOTICE, amfSvcUsrName, "%s ReadinessState %s => %s",
-               name.c_str(),
-               avd_readiness_state_name[saAmfSuReadinessState],
-               avd_readiness_state_name[readiness_state]);
 
        if (saAmfSuReadinessState == readiness_state) {
                goto done;
@@ -840,6 +836,11 @@ void AVD_SU::set_readiness_state(SaAmfRe
                goto done;
        }
 
+       saflog(LOG_NOTICE, amfSvcUsrName, "%s ReadinessState %s => %s",
+               name.c_str(),
+               avd_readiness_state_name[saAmfSuReadinessState],
+               avd_readiness_state_name[readiness_state]);
+
        osafassert(readiness_state <= SA_AMF_READINESS_STOPPING);
 
        saAmfSuReadinessState = readiness_state;

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/intel
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to