|
From: <pra...@or...> - 2015-03-30 12:17:45
|
osaf/services/saf/amf/amfd/sg_2n_fsm.cc | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
In a SI dependency configuration if comp-failover occurs during shutdown operation
on ng for quiescing state, then SG does not become stable.
Although the context of the issue is NodeGroup, it is valid only for 2N model and
in the case when both active and assignments are part of the nodegroup.
SG remained unstable because standby assignments could not be removed.
This is due to the fact the standby SUSI pointer was not updated and remained NULL.
Patch ensures that AMFD finds the standby SUSI and remove is assignments.
diff --git a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
@@ -1290,9 +1290,9 @@ uint32_t SG_2N::su_fault(AVD_CL_CB *cb,
}
o_susi = AVD_SU_SI_REL_NULL;
a_su = su->sg_of_su->list_of_su;
- while ((a_su != NULL) &&
- (a_su->sg_of_su->ng_using_saAmfSGAdminState == false)) {
- a_su->set_readiness_state(SA_AMF_READINESS_OUT_OF_SERVICE);
+ while (a_su != NULL) {
+ if (a_su->sg_of_su->ng_using_saAmfSGAdminState == false)
+ a_su->set_readiness_state(SA_AMF_READINESS_OUT_OF_SERVICE);
if ((a_su->list_of_susi != AVD_SU_SI_REL_NULL)
&& (avd_su_state_determine(a_su) == SA_AMF_HA_STANDBY)){
o_susi = a_su->list_of_susi;
@@ -1337,9 +1337,9 @@ uint32_t SG_2N::su_fault(AVD_CL_CB *cb,
}
o_susi = AVD_SU_SI_REL_NULL;
a_su = su->sg_of_su->list_of_su;
- while ((a_su != NULL) &&
- (a_su->sg_of_su->ng_using_saAmfSGAdminState == false)) {
- a_su->set_readiness_state(SA_AMF_READINESS_OUT_OF_SERVICE);
+ while (a_su != NULL) {
+ if (a_su->sg_of_su->ng_using_saAmfSGAdminState == false)
+ a_su->set_readiness_state(SA_AMF_READINESS_OUT_OF_SERVICE);
if ((a_su->list_of_susi != AVD_SU_SI_REL_NULL)
&& (avd_su_state_determine(a_su) == SA_AMF_HA_STANDBY)){
o_susi = a_su->list_of_susi;
|