osaf/services/saf/amf/amfd/si_dep.cc | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
AMF honor SI dependecy within SU while performing failover of SU. In some cases
like this issue, it has been
observed that failover depends on the order of SIs in the SU list. Due to this,
sometimes, AMF performs failover
of dep SI before the sponsor SI. This patch ensures when SI dependency is
configured within SU, AMF always
honors SI dependency.
diff --git a/osaf/services/saf/amf/amfd/si_dep.cc
b/osaf/services/saf/amf/amfd/si_dep.cc
--- a/osaf/services/saf/amf/amfd/si_dep.cc
+++ b/osaf/services/saf/amf/amfd/si_dep.cc
@@ -1872,7 +1872,20 @@ bool avd_sidep_is_si_failover_possible(A
failover_possible = true;
if (sisu->fsm == AVD_SU_SI_STATE_MODIFY)
sponsor_in_modify_state = true;
+ if ((sisu->su == su) && (sisu->fsm ==
AVD_SU_SI_STATE_ASGND)) {
+ sponsor_in_modify_state = true;
+ TRACE("Sponsor '%s' active in
same SU",sisu->si->name.value);
+ }
break;
+ } else if ((sisu->state == SA_AMF_HA_QUIESCED)
&&
+ (sisu->fsm ==
AVD_SU_SI_STATE_ASGND) &&
+ (sisu->su == su) &&
!sidep_is_si_active(sisu->si)) {
+ /* If sponsor is quiesced in the same
SU and not active in
+ any other SU, it means failover of
sponsor is still pending.
+ */
+ sponsor_in_modify_state = true;
+ TRACE("Sponsor '%s' quiescd assigned in
same SU",sisu->si->name.value);
+
} else if ((spons_si_node->si->sg_of_si ==
si->sg_of_si) && (sisu->su != su) &&
(!valid_standby)) {
/* Sponsor also belongs to the same SG
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel