Please send a consolidated patch. Thanks -Nagu
> -----Original Message----- > From: Hans Nordeback [mailto:hans.nordeb...@ericsson.com] > Sent: 12 August 2014 17:38 > To: hans.fe...@ericsson.com; Praveen Malviya; Nagendra Kumar > Cc: opensaf-devel@lists.sourceforge.net > Subject: [PATCH 1 of 1] AMF: support immediate effect when changing comp- > type attributes v5 [#819] > > osaf/libs/common/amf/include/amf_defs.h | 5 +++- > osaf/services/saf/amf/amfd/comptype.cc | 18 ++++++++++++++- > osaf/services/saf/amf/amfnd/compdb.cc | 28 > ++++++++++++++++++++++-- > osaf/services/saf/amf/amfnd/include/avnd_comp.h | 2 + > 4 files changed, 47 insertions(+), 6 deletions(-) > > > Added support for saAmfCtDefDisableRestart, > saAmfCtDefQuiescingCompleteTimeout. > > diff --git a/osaf/libs/common/amf/include/amf_defs.h > b/osaf/libs/common/amf/include/amf_defs.h > --- a/osaf/libs/common/amf/include/amf_defs.h > +++ b/osaf/libs/common/amf/include/amf_defs.h > @@ -252,7 +252,10 @@ typedef enum > { > saAmfCtDefCallbackTimeout_ID = 1, > saAmfCtDefClcCliTimeout_ID = 2, > - saAmfCtDefRecoveryOnError_ID = 3 > + saAmfCtDefRecoveryOnError_ID = 3, > + saAmfCtDefDisableRestart_ID = 4, > + saAmfCtDefInstantiationLevel_ID = 5, > + saAmfCtDefQuiescingCompleteTimeout_ID = 6 > } AVSV_AMF_COMPTYPE_ATTR_ID; > > /* Attribute ID enum for the SaAmfHealthcheck class */ > diff --git a/osaf/services/saf/amf/amfd/comptype.cc > b/osaf/services/saf/amf/amfd/comptype.cc > --- a/osaf/services/saf/amf/amfd/comptype.cc > +++ b/osaf/services/saf/amf/amfd/comptype.cc > @@ -442,7 +442,6 @@ static void ccb_apply_modify_hdlr(const > SaTimeT *param_val = (SaTimeT *)attribute- > >attrValues[0]; > TRACE("saAmfCtDefCallbackTimeout to '%llu' > for compType '%s' on node '%s'", *param_val, > opdata->objectName.value, (*it)- > >name.value); > - > param.value_len = sizeof(*param_val); > memcpy(param.value, param_val, > param.value_len); > param.attr_id = > saAmfCtDefCallbackTimeout_ID; > @@ -451,11 +450,18 @@ static void ccb_apply_modify_hdlr(const > SaTimeT *param_val = (SaTimeT *)attribute- > >attrValues[0]; > TRACE("saAmfCtDefClcCliTimeout to '%llu' for > compType '%s' on node '%s'", *param_val, > opdata->objectName.value, (*it)- > >name.value); > - > param.value_len = sizeof(*param_val); > memcpy(param.value, param_val, > param.value_len); > param.attr_id = saAmfCtDefClcCliTimeout_ID; > avd_snd_op_req_msg(avd_cb, *it, ¶m); > + } else if (!strcmp(attribute->attrName, > "saAmfCtDefQuiescingCompleteTimeout")) { > + SaTimeT *param_val = (SaTimeT *)attribute- > >attrValues[0]; > + > TRACE("saAmfCtDefQuiescingCompleteTimeout to '%llu' for compType > '%s' on node '%s'", *param_val, > + opdata->objectName.value, (*it)- > >name.value); > + param.value_len = sizeof(*param_val); > + memcpy(param.value, param_val, > param.value_len); > + param.attr_id = > saAmfCtDefQuiescingCompleteTimeout_ID; > + avd_snd_op_req_msg(avd_cb, *it, ¶m); > > } else if (!strcmp(attribute->attrName, > "saAmfCtDefRecoveryOnError")) { > SaAmfRecommendedRecoveryT *param_val = > (SaAmfRecommendedRecoveryT *)attribute->attrValues[0]; > TRACE("saAmfCtDefRecoveryOnError to '%u' > for compType '%s' on node '%s'", *param_val, > @@ -464,6 +470,14 @@ static void ccb_apply_modify_hdlr(const > memcpy(param.value, param_val, > param.value_len); > param.attr_id = > saAmfCtDefRecoveryOnError_ID; > avd_snd_op_req_msg(avd_cb, *it, ¶m); > + } else if (!strcmp(attribute->attrName, > "saAmfCtDefDisableRestart")) { > + SaBoolT *param_val = (SaBoolT *)attribute- > >attrValues[0]; > + TRACE("saAmfCtDefDisableRestart to '%u' for > compType '%s' on node '%s'", *param_val, > + opdata->objectName.value, (*it)- > >name.value); > + param.value_len = sizeof(*param_val); > + memcpy(param.value, param_val, > param.value_len); > + param.attr_id = saAmfCtDefDisableRestart_ID; > + avd_snd_op_req_msg(avd_cb, *it, ¶m); > } else > LOG_WA("Unexpected attribute name: %s", > attribute->attrName); > } > diff --git a/osaf/services/saf/amf/amfnd/compdb.cc > b/osaf/services/saf/amf/amfnd/compdb.cc > --- a/osaf/services/saf/amf/amfnd/compdb.cc > +++ b/osaf/services/saf/amf/amfnd/compdb.cc > @@ -896,7 +896,9 @@ uint32_t avnd_comptype_oper_req(AVND_CB > const char* comp_type_name; > SaTimeT saAmfCtDefCallbackTimeout = 0; > SaTimeT saAmfCtDefClcCliTimeout = 0; > - SaAmfRecommendedRecoveryT saAmfCtDefRecoveryOnError; > + SaTimeT saAmfCtDefQuiescingCompleteTimeout = 0; > + SaAmfRecommendedRecoveryT saAmfCtDefRecoveryOnError; > + SaBoolT saAmfCtDefDisableRestart; > > TRACE_ENTER2("Op %u, %s", param->act, param->name.value); > > @@ -972,6 +974,14 @@ uint32_t avnd_comptype_oper_req(AVND_CB > TRACE("cmd->timeout (AM > Stop) modified to '%llu'", cmd->timeout); > > } > break; > + case > saAmfCtDefQuiescingCompleteTimeout_ID: > + > saAmfCtDefQuiescingCompleteTimeout = *((SaTimeT *) param->value); > + osafassert(sizeof(SaTimeT) == param- > >value_len); > + if (comp- > >use_comptype_attr.test(DefQuiescingCompleteTimeout)) { > + comp- > >quies_complete_cbk_timeout = saAmfCtDefQuiescingCompleteTimeout; > + TRACE("comp- > >quies_complete_cbk_timeout modified to '%llu'", comp- > >quies_complete_cbk_timeout); > + } > + break; > case saAmfCtDefRecoveryOnError_ID: > saAmfCtDefRecoveryOnError = > *((SaAmfRecommendedRecoveryT *) param->value); > > osafassert(sizeof(SaAmfRecommendedRecoveryT) == param- > >value_len); > @@ -980,6 +990,14 @@ uint32_t avnd_comptype_oper_req(AVND_CB > TRACE("comp- > >err_info.def_rec modified to '%u'", comp->err_info.def_rec); > > } > break; > + case saAmfCtDefDisableRestart_ID: > + saAmfCtDefDisableRestart = > *((SaBoolT *) param->value); > + osafassert(sizeof(SaBoolT) == param- > >value_len); > + if (comp- > >use_comptype_attr.test(DefDisableRestart)) { > + comp->is_restart_en = > (saAmfCtDefDisableRestart == true) ? false : true; > + TRACE("comp->is_restart_en > modified to '%u'", comp->is_restart_en); > + } > + break; > default: > LOG_WA("Unexpected attribute id: > %d", param->attr_id); > } > @@ -1547,8 +1565,10 @@ static int comp_init(AVND_COMP *comp, co > comp->use_comptype_attr.set(CsiRemoveCallbackTimeout); > > if > (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompQuiescingComple > teTimeout"), attributes, > - 0, &comp->quies_complete_cbk_timeout) != > SA_AIS_OK) > + 0, &comp->quies_complete_cbk_timeout) != > SA_AIS_OK) { > comp->quies_complete_cbk_timeout = comptype- > >saAmfCompQuiescingCompleteTimeout; > + comp- > >use_comptype_attr.set(DefQuiescingCompleteTimeout); > + } > > if > (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompRecoveryOnErro > r"), attributes, 0, &comp->err_info.def_rec) != SA_AIS_OK) { > comp->err_info.def_rec = comptype- > >saAmfCtDefRecoveryOnError; > @@ -1561,8 +1581,10 @@ static int comp_init(AVND_COMP *comp, co > } > } > > - if > (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompDisableRestart"), > attributes, 0, &disable_restart) != SA_AIS_OK) > + if > (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCompDisableRestart"), > attributes, 0, &disable_restart) != SA_AIS_OK) { > disable_restart = comptype->saAmfCtDefDisableRestart; > + comp->use_comptype_attr.set(DefDisableRestart); > + } > > comp->is_restart_en = (disable_restart == true) ? false : true; > > diff --git a/osaf/services/saf/amf/amfnd/include/avnd_comp.h > b/osaf/services/saf/amf/amfnd/include/avnd_comp.h > --- a/osaf/services/saf/amf/amfnd/include/avnd_comp.h > +++ b/osaf/services/saf/amf/amfnd/include/avnd_comp.h > @@ -293,6 +293,8 @@ enum UsedComptypeAttrs { > CompAmStartTimeout, > CompAmStopTimeout, > DefRecoveryOnError, > + DefDisableRestart, > + DefQuiescingCompleteTimeout, > NumAttrs > }; > ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel