I'll change it before pushing, is it ok to push v4 and v5?/Regards HansN
On 08/12/14 14:42, Hans Feldt wrote:
> Ack with minor comment inline
> /HansF
>
>> -----Original Message-----
>> From: Hans Nordebäck
>> Sent: den 12 augusti 2014 14:08
>> To: Hans Feldt; praveen.malv...@oracle.com; nagendr...@oracle.com
>> 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>("saAmfCompQuiescingCompleteTimeout"),
>>  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>("saAmfCompRecoveryOnError"), 
>> 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,
> [Hans] indentation problem?
>
>>      NumAttrs
>>   };
>>


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to