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, &param);
> +                     } 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, &param);
> 
>                       } 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, &param);
> +                     } 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, &param);
>                       } 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

Reply via email to