ah ok sorry now I see yes it should be kept as you say in sutype.
I talked about su.
/HansF

On 2 May 2014 10:29, Nagendra Kumar <nagendr...@oracle.com> wrote:
> 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 *)&param), '\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(&param.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

Reply via email to