Ok. Please modify the trace as "Modified saAmfSutDefSUFailover to '%u' for Su '%s'".
-Nagu > -----Original Message----- > From: Hans Feldt [mailto:osafde...@gmail.com] > Sent: 02 May 2014 13:05 > To: Nagendra Kumar > Cc: Praveen Malviya; Hans Nordeback; opensaf-devel@lists.sourceforge.net > Subject: Re: [PATCH 2 of 7] amfd: add and use set_su_failover [#713] > > The trace is there in the setter method, OK? > /HansF > > On 2 May 2014 09:05, Nagendra Kumar <nagendr...@oracle.com> wrote: > > Please keep the trace. > > - su->saAmfSUFailover = > > static_cast<bool>(sut- > >saAmfSutDefSUFailover); > > - TRACE("Modified > > saAmfSutDefSUFailover to '%u' for > Su'%s'", > > - > > su->saAmfSUFailover, su->name.value); > > - su_nd_attribute_update(su, > > saAmfSUFailOver_ID); > > > >> -----Original Message----- > >> From: Hans Feldt [mailto:osafde...@gmail.com] > >> Sent: 30 April 2014 10:31 > >> To: Nagendra Kumar; Praveen Malviya; hans.nordeb...@ericsson.com > >> Cc: opensaf-devel@lists.sourceforge.net > >> Subject: [PATCH 2 of 7] amfd: add and use set_su_failover [#713] > >> > >> osaf/services/saf/amf/amfd/comp.cc | 3 +-- > >> osaf/services/saf/amf/amfd/include/su.h | 6 +++++- > >> osaf/services/saf/amf/amfd/sg.cc | 3 +-- > >> osaf/services/saf/amf/amfd/su.cc | 30 > >> +++++++++++++++++------------- > >> osaf/services/saf/amf/amfd/sutype.cc | 5 +---- > >> 5 files changed, 25 insertions(+), 22 deletions(-) > >> > >> > >> diff --git a/osaf/services/saf/amf/amfd/comp.cc > >> b/osaf/services/saf/amf/amfd/comp.cc > >> --- a/osaf/services/saf/amf/amfd/comp.cc > >> +++ b/osaf/services/saf/amf/amfd/comp.cc > >> @@ -1560,8 +1560,7 @@ static void comp_ccb_apply_delete_hdlr(s > >> SA_IMM_ATTR_SAUINT32T, &comp->su- > >> >saAmfSUPreInstantiable); > >> /* If SU becomes NPI then enable saAmfSUFailover flag Sec > >> 3.11.1.3.2 AMF-B.04.01 spec */ > >> if (!comp->su->saAmfSUPreInstantiable) { > >> - comp->su->saAmfSUFailover = true; > >> - su_nd_attribute_update(comp->su, > >> saAmfSUFailOver_ID); > >> + comp->su->set_su_failover(true); > >> } > >> } > >> > >> diff --git a/osaf/services/saf/amf/amfd/include/su.h > >> b/osaf/services/saf/amf/amfd/include/su.h > >> --- a/osaf/services/saf/amf/amfd/include/su.h > >> +++ b/osaf/services/saf/amf/amfd/include/su.h > >> @@ -38,6 +38,7 @@ > >> /** > >> * AMF director Service Unit representation. > >> */ > >> +//TODO: all attributes that have a setter should probably have an getter > >> class AVD_SU { > >> public: > >> SaNameT name; > >> @@ -91,6 +92,7 @@ class AVD_SU { > >> struct avd_sutype *su_type; > >> AVD_SU *su_list_su_type_next; > >> > >> + void set_su_failover(bool value); > >> void dec_curr_stdby_si(void); > >> void inc_curr_stdby_si(void); > >> void inc_curr_act_si(void); > >> @@ -108,6 +110,9 @@ class AVD_SU { > >> void delete_all_susis(void); > >> void set_all_susis_assigned_quiesced(void); > >> void set_all_susis_assigned(void); > >> + > >> + private: > >> + void send_attribute_update(AVSV_AMF_SU_ATTR_ID attrib_id); > >> }; > >> > >> extern AmfDb<AVD_SU> *su_db; > >> @@ -194,6 +199,5 @@ extern SaAisErrorT avd_sutcomptype_confi > >> extern void avd_sutcomptype_constructor(void); > >> > >> extern AVD_SU *avd_su_get_or_create(const SaNameT *dn); > >> -extern void su_nd_attribute_update(const AVD_SU *su, > >> AVSV_AMF_SU_ATTR_ID attrib_id); > >> > >> #endif > >> diff --git a/osaf/services/saf/amf/amfd/sg.cc > >> b/osaf/services/saf/amf/amfd/sg.cc > >> --- a/osaf/services/saf/amf/amfd/sg.cc > >> +++ b/osaf/services/saf/amf/amfd/sg.cc > >> @@ -1564,8 +1564,7 @@ void avd_sg_adjust_config(AVD_SG *sg) > >> /* saAmfSUFailover must be true for a NPI SU sec 3.11.1.3.2 > >> AMF-B.04.01 spec */ > >> for (AVD_SU *su = sg->list_of_su; su != NULL; su = su- > >> >sg_list_su_next) { > >> if (!su->saAmfSUFailover) { > >> - su->saAmfSUFailover = true; > >> - su_nd_attribute_update(su, > >> saAmfSUFailOver_ID); > >> + su->set_su_failover(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 > >> @@ -1427,19 +1427,19 @@ static void su_ccb_apply_modify_hdlr(str > >> > >> if (!strcmp(attr_mod->modAttr.attrName, "saAmfSUFailover")) > >> { > >> if (value_is_deleted) { > >> - su->saAmfSUFailover = static_cast<bool>(su- > >> >su_type->saAmfSutDefSUFailover); > >> + su->set_su_failover(su->su_type- > >> >saAmfSutDefSUFailover); > >> su->saAmfSUFailover_configured = false; > >> } > >> else { > >> - su->saAmfSUFailover = > >> static_cast<bool>(*((SaUint32T *)attr_mod->modAttr.attrValues[0])); > >> + bool value = > >> + static_cast<bool>(*((SaUint32T > >> *)attr_mod->modAttr.attrValues[0])); > >> + su->set_su_failover(value); > >> su->saAmfSUFailover_configured = true; > >> } > >> - TRACE("Modified saAmfSUFailover is '%u'", su- > >> >saAmfSUFailover); > >> if (!su->saAmfSUPreInstantiable) { > >> - su->saAmfSUFailover = true; > >> + su->set_su_failover(true); > >> su->saAmfSUFailover_configured = true; > >> } > >> - su_nd_attribute_update(su, saAmfSUFailOver_ID); > >> } else if (!strcmp(attr_mod->modAttr.attrName, > >> "saAmfSUMaintenanceCampaign")) { > >> if (value_is_deleted) { > >> su->saAmfSUMaintenanceCampaign.length = > >> 0; > >> @@ -1460,13 +1460,12 @@ static void su_ccb_apply_modify_hdlr(str > >> su->su_type = sut; > >> avd_sutype_add_su(su); > >> if (su->saAmfSUPreInstantiable) { > >> - su->saAmfSUFailover = static_cast<bool>(sut- > >> >saAmfSutDefSUFailover); > >> + su->set_su_failover(static_cast<bool>(sut- > >> >saAmfSutDefSUFailover)); > >> su->saAmfSUFailover_configured = false; > >> } else { > >> - su->saAmfSUFailover = true; > >> + su->set_su_failover(true); > >> su->saAmfSUFailover_configured = true; > >> } > >> - su_nd_attribute_update(su, saAmfSUFailOver_ID); > >> su->su_is_external = sut->saAmfSutIsExternal; > >> } else > >> osafassert(0); > >> @@ -1601,8 +1600,7 @@ void avd_su_constructor(void) > >> * @param su > >> * @param attrib_id > >> */ > >> -void su_nd_attribute_update(const AVD_SU *su, AVSV_AMF_SU_ATTR_ID > >> attrib_id) > >> -{ > >> +void AVD_SU::send_attribute_update(AVSV_AMF_SU_ATTR_ID attrib_id) { > >> AVD_AVND *su_node_ptr = NULL; > >> AVSV_PARAM_INFO param; > >> memset(((uint8_t *)¶m), '\0', sizeof(AVSV_PARAM_INFO)); > >> @@ -1613,10 +1611,10 @@ void su_nd_attribute_update(const AVD_SU > >> TRACE_LEAVE2("avd is not in active state"); > >> return; > >> } > >> - m_AVD_GET_SU_NODE_PTR(avd_cb, su, su_node_ptr); > >> + m_AVD_GET_SU_NODE_PTR(avd_cb, this, su_node_ptr); > >> param.class_id = AVSV_SA_AMF_SU; > >> param.act = AVSV_OBJ_OPR_MOD; > >> - param.name = su->name; > >> + param.name = name; > >> > >> switch (attrib_id) { > >> case saAmfSUFailOver_ID: > >> @@ -1624,7 +1622,7 @@ void su_nd_attribute_update(const AVD_SU > >> uint32_t sufailover; > >> param.attr_id = saAmfSUFailOver_ID; > >> param.value_len = sizeof(uint32_t); > >> - sufailover = htonl(su->saAmfSUFailover); > >> + sufailover = htonl(saAmfSUFailover); > >> memcpy(¶m.value[0], &sufailover, param.value_len); > >> break; > >> } > >> @@ -1644,6 +1642,12 @@ void su_nd_attribute_update(const AVD_SU > >> TRACE_LEAVE(); > >> } > >> > >> +void AVD_SU::set_su_failover(bool value) { > >> + saAmfSUFailover = value; > >> + TRACE("%s saAmfSUFailover '%u'", name.value, saAmfSUFailover); > >> + send_attribute_update(saAmfSUFailOver_ID); > >> +} > >> + > >> /** > >> * Delete all SUSIs assigned to the SU. > >> * > >> diff --git a/osaf/services/saf/amf/amfd/sutype.cc > >> b/osaf/services/saf/amf/amfd/sutype.cc > >> --- a/osaf/services/saf/amf/amfd/sutype.cc > >> +++ b/osaf/services/saf/amf/amfd/sutype.cc > >> @@ -255,10 +255,7 @@ static void sutype_ccb_apply_modify_hdlr > >> if (old_value != sut->saAmfSutDefSUFailover) { > >> for (AVD_SU *su = sut->list_of_su; su; su = > >> su- > >> >su_list_su_type_next) { > >> if ((!su->saAmfSUFailover_configured) > >> && (su->saAmfSUPreInstantiable)) { > >> - su->saAmfSUFailover = > >> static_cast<bool>(sut->saAmfSutDefSUFailover); > >> - TRACE("Modified > >> saAmfSutDefSUFailover to '%u' for Su'%s'", > >> - su- > >> >saAmfSUFailover, su->name.value); > >> - su_nd_attribute_update(su, > >> saAmfSUFailOver_ID); > >> + su- > >> >set_su_failover(static_cast<bool>(sut->saAmfSutDefSUFailover)); > >> } > >> } > >> } ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel