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