Hi Nagu, I sent it as increments as I'm not sure how many attributes will be finished in time. It would be good if you can ack v4 and v5 and the last patch for comptype will be the ...CmdArgv stuff, not finished yet. (Then InstantiaionLevel attribute is to be done later)/Regards HansN
-----Original Message----- From: Nagendra Kumar [mailto:nagendr...@oracle.com] Sent: den 12 augusti 2014 14:19 To: Hans Nordebäck; Hans Feldt; Praveen Malviya Cc: opensaf-devel@lists.sourceforge.net Subject: RE: [PATCH 1 of 1] AMF: support immediate effect when changing comp-type attributes v5 [#819] 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