I had this in my original patch, but took it out for some reason which I
don't remember!
I just submitted a new patch.
Alex
On 04/22/2016 07:06 AM, praveen malviya wrote:
>
> Patch is modifying saAmfSGMaxStandbySIsperSU in unlocked SG.
> So in ccb_apply_modify_hdlr(), SG should be scanned for new standby
> assignments as some SI(s) may not have standby assignments. When
> modification is done in locked or lock-in state, unlock operation on
> SG takes care of it.
> What do you think?
>
> Thanks,
> Praveen
>
> On 08-Apr-16 9:24 PM, Alex Jones wrote:
>> osaf/services/saf/amf/amfd/sg.cc | 23 +++++++++++++++++++++++
>> 1 files changed, 23 insertions(+), 0 deletions(-)
>>
>>
>> amfd disallows changing saAmfSGMaxStandbySIsperSU while the SG is
>> UNLOCKED
>>
>> A check is performed in the code to disallow it.
>>
>> Code needs to be added to handle the modification.
>>
>> diff --git a/osaf/services/saf/amf/amfd/sg.cc
>> b/osaf/services/saf/amf/amfd/sg.cc
>> --- a/osaf/services/saf/amf/amfd/sg.cc
>> +++ b/osaf/services/saf/amf/amfd/sg.cc
>> @@ -722,6 +722,24 @@ static SaAisErrorT ccb_completed_modify_
>> goto done;
>> }
>> }
>> + } else if (!strcmp(attribute->attrName,
>> "saAmfSGMaxStandbySIsperSU")) {
>> + if (value_is_deleted == true)
>> + continue;
>> + uint32_t max_standby_sis = *static_cast<SaUint32T
>> *>(value);
>> +
>> + if (sg->sg_redundancy_model !=
>> SA_AMF_NPM_REDUNDANCY_MODEL) {
>> + report_ccb_validation_error(opdata,
>> + "%s: saAmfSGMaxStandbySIsperSU for non-N+M
>> model cannot"
>> + " be modified when SG is unlocked",
>> __FUNCTION__);
>> + rc = SA_AIS_ERR_BAD_OPERATION;
>> + goto done;
>> + } else if (max_standby_sis <
>> sg->saAmfSGMaxStandbySIsperSU) {
>> + report_ccb_validation_error(opdata,
>> + "%s: Cannot decrease
>> saAmfSGMaxStandbySIsperSU while SG"
>> + " is unlocked ", __FUNCTION__);
>> + rc = SA_AIS_ERR_BAD_OPERATION;
>> + goto done;
>> + }
>> } else {
>> report_ccb_validation_error(opdata,
>> "%s: Attribute '%s' cannot be modified when SG
>> is unlocked",
>> @@ -1076,6 +1094,11 @@ static void ccb_apply_modify_hdlr(CcbUti
>> }
>> }
>> }
>> + } else if (!strcmp(attribute->attrName,
>> "saAmfSGMaxStandbySIsperSU")) {
>> + if (value_is_deleted)
>> + sg->saAmfSGMaxStandbySIsperSU = -1;
>> + else
>> + sg->saAmfSGMaxStandbySIsperSU =
>> *static_cast<SaUint32T *>(value);
>> } else {
>> osafassert(0);
>> }
>>
>
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel