Ok, keep a notice log. Ack. Thanks -Nagu > -----Original Message----- > From: Alex Jones [mailto:ajo...@genband.com] > Sent: 13 May 2014 20:29 > To: Nagendra Kumar; hans.fe...@ericsson.com; Praveen Malviya > Cc: opensaf-devel@lists.sourceforge.net > Subject: Re: [PATCH 1 of 1] amfd: allow change to saAmfSGNumPrefActiveSUs > for N+M SG while UNLOCKED [#871] > > Oh. That is really to disallow deleting the attribute. Do I even need it? > > Alex > > On 05/13/2014 02:15 AM, Nagendra Kumar wrote: > > Hi Alex, > > I couldn't get the below change: > > > > + if (value_is_deleted) > > + sg->saAmfSGNumPrefActiveSUs = sg- > >saAmfSGNumPrefActiveSUs; > > + else > > > > Thanks > > -Nagu > > > >> -----Original Message----- > >> From: Alex Jones [mailto:ajo...@genband.com] > >> Sent: 13 May 2014 00:36 > >> To: hans.fe...@ericsson.com; Nagendra Kumar; Praveen Malviya > >> Cc: opensaf-devel@lists.sourceforge.net > >> Subject: [PATCH 1 of 1] amfd: allow change to saAmfSGNumPrefActiveSUs > >> for > >> N+M SG while UNLOCKED [#871] > >> > >> osaf/services/saf/amf/amfd/sg.cc | 39 > >> +++++++++++++++++++++++++++++++++++++++ > >> 1 files changed, 39 insertions(+), 0 deletions(-) > >> > >> > >> ccb_completed_modify_hdlr: Attribute 'saAmfSGNumPrefActiveSUs' cannot > >> be modified when SG is unlocked > >> > >> OpenSAF disallows changing saAmfSGNumPrefActiveSUs while the SG is > >> UNLOCKED. > >> This prevents in-service capacity upgrade for N+M models, which is > >> not desirable. > >> > >> This change allows saAmfSGNumPrefActiveSUs to be increased for N+M > >> models, as long as there are instantiated spare SUs equal to the > >> amount of the increase. > >> These instantiated spare SUs will then be assigned ACTIVE, and their > >> corresponding CSIs will be assigned to the STANDBY. > >> > >> 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 > >> @@ -675,6 +675,33 @@ static SaAisErrorT ccb_completed_modify_ > >> rc = SA_AIS_ERR_BAD_OPERATION; > >> goto done; > >> } > >> + } else if (!strcmp(attribute->attrName, > >> "saAmfSGNumPrefActiveSUs")) { > >> + uint32_t pref_active_su = > >> *static_cast<SaUint32T *>(value); > >> + > >> + if (sg->sg_redundancy_model != > >> SA_AMF_NPM_REDUNDANCY_MODEL) { > >> + report_ccb_validation_error(opdata, > >> + "%s: > >> saAmfSGNumPrefActiveSUs for non-N+M model cannot" > >> + " be modified when SG is > >> unlocked", __FUNCTION__); > >> + rc = SA_AIS_ERR_BAD_OPERATION; > >> + goto done; > >> + } else if (pref_active_su < sg- > >>> saAmfSGNumPrefActiveSUs) { > >> + report_ccb_validation_error(opdata, > >> + "%s: Cannot decrease > >> saAmfSGNumPrefActiveSUs while SG" > >> + " is unlocked ", > >> __FUNCTION__); > >> + rc = SA_AIS_ERR_BAD_OPERATION; > >> + goto done; > >> + } else { > >> + uint32_t increase_amount = > >> pref_active_su - sg->saAmfSGNumPrefActiveSUs; > >> + > >> + if (sg- > >>> saAmfSGNumCurrInstantiatedSpareSUs < increase_amount) { > >> + > >> report_ccb_validation_error(opdata, > >> + "%s: Not enough > >> instantiated spare SUs to do" > >> + " in-service increase > >> of saAmfSGNumPrefActiveSUs", > >> + __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", > >> @@ -1010,6 +1037,18 @@ static void ccb_apply_modify_hdlr(CcbUti > >> sg->name.value, sg- > >>> saAmfSGAutoRepair); > >> } else if (!strcmp(attribute->attrName, > >> "saAmfSGSuHostNodeGroup")) { > >> sg->saAmfSGSuHostNodeGroup = *((SaNameT > *)value); > >> + } else if (!strcmp(attribute->attrName, > >> "saAmfSGNumPrefActiveSUs")) { > >> + if (value_is_deleted) > >> + sg->saAmfSGNumPrefActiveSUs = sg- > >>> saAmfSGNumPrefActiveSUs; > >> + else > >> + sg->saAmfSGNumPrefActiveSUs = > >> *static_cast<SaUint32T *>(value); > >> + > >> + if (avd_cb->avail_state_avd == > >> SA_AMF_HA_ACTIVE) { > >> + /* find an instantiated spare SU */ > >> + if (sg->realign(avd_cb, sg) != > >> NCSCC_RC_SUCCESS) { > >> + osafassert(0); > >> + } > >> + } > >> } else { > >> osafassert(0); > >> } > >> >
------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel