Hi Praveen, Thanks so much. I am checking and fixing.
Best regards, Long Nguyen. On 8/12/2016 6:40 PM, praveen malviya wrote: > Hi Long, > > I have checked. The problem is not with ava_sanamet_is_valid(). Agent > is getting that env variable for AMFND when it instantiates the > component using CLC-CLI script. This needs to be fixed in amfnd patch. > > Thanks, > Praveen > > > > On 12-Aug-16 3:33 PM, praveen malviya wrote: >> >> >> On 12-Aug-16 1:27 PM, Long Nguyen wrote: >>> Hi Praveen, >>> >>> Actually, since Anders introduced the extended SaNameT in leap core, he >>> also added the osaf_extended_name_init() into leap. >>> Amf agent uses leap library (i.e. saAmfInitialize()). So, applications >>> under amf control enabled long DN implicitly. >>> The SA_AIS_ERR_NAME_TOO_LONG return code is not returned in our case >>> (still SA_AIS_OK) due to the above reason. Consequently, the >>> applications are not crashed. >>> >>> I am not sure if it is right to add osaf_extended_name_init() into >>> leap. >>> However, it is the case now. >>> >> Addition of osaf_extended_name_init() into leap is right because every >> agent has to support long and short dn applications. But >> osaf_extended_name_init() distinguish a long or short dn application >> based on whether application has set "SA_ENABLE_EXTENDED_NAMES" or >> not.If you see the implementation of this API, based on this exported >> variable it remembers whether application is a long dn one or short dn >> one. For this only only applications are recommended via documentation >> to set this environment variable before calling any SAF API if they want >> handle longdn.In this way when first SAF API is called (generally >> sa,*>Initialize()), leap initialization will be done as a part of agent >> creation. Inside leap init it will call osaf_extended_name_init() which >> will use the environment variable to remember about the nature of >> application. >> >> The idea of CCB rejection was based on this only that an agent knows >> via osaf_extended_* APIs that it is created by a longdn or shortdn >> application. And this information can be passed to amfnd and hence to >> AMFD. >> >> But now what needs to be explored is why AMF Dispatch() is not returning >> NAME_TOO_LONG when you have already coded for it? Since old AMF demo has >> not enabled long dn, Dispatch() must return this error code. >> Is there any problem with ava_sanamet_is_valid()? >> Let us debug that. >> >> >>> Can you please share with us your ideas? Do we still need to truncate >>> long names in this case? >> As we have discussed, rejection of CCB can be postponed as it requires >> new messages or introduction of new fields in old messages, all the way >> from AMFA to AMFD. >> So we are left with three options: >> 1) Dispatch() will return NAME_TOO_LONG without invoking callback. >> Current patch is doing this. >> This has one disadvantage that comp/application may exit/crash. >> 2)Dispatch will return SA_AIS_OK "without" invoking the callback. >> This will not confuse application. >> There is one disadvantage here, AMF has an illegal COMPCSI. >> 3)Dispatch will return SA_AIS_OK "by" invoking the callback with >> truncated values. >> This has one advantage that AMF does not have illegal COMPCSI. >> One disadvantage is that if comp is serving more CSI and then it >> will >> not be able to rightly distinguish between the CSI names. >> >> Option 2) sounds Ok to me as it will not create problems with >> application as AMF is not invoking any callback and atleast application >> is serving existing CSIs. Regarding the illegal COMPCSI in AMF: A user >> can always delete it and deletion will not again result in CSI remove >> callback because of the same reasons. At the same time we are cautioning >> the user via documentation (REAMDME and PR doc). >> >> >> thanks, >> Praveen >> >> >>> >>> Best regards, >>> Long Nguyen. >>> >>> On 8/11/2016 3:04 PM, Long Nguyen wrote: >>>> Hi Praveen, >>>> >>>> Thanks for your suggestion. >>>> In the situation you described below, you add a csi dynamically (long >>>> DN) to an application (not support long DN). >>>> So, we only need to truncate the csi name. This will help the >>>> application not crashed. >>>> In my opinion, we only need to truncate in case of CSISet or >>>> CSIRemove. There may be some problems with applications associated >>>> with more than one csi, if the applications base on csi names to do >>>> special things. >>>> In case of protection group, when we call saAmfProtectionGroupTrack, >>>> we have to specify the csi_name. It is not in the case of long DN >>>> since the application does not support long DN. >>>> >>>> Best regards, >>>> Long Nguyen. >>>> >>>> On 8/11/2016 1:29 PM, praveen malviya wrote: >>>>> Hi, >>>>> >>>>> I think, as of now, approaches discussed in this mail thread can be >>>>> mixed for a temporary solution: Dispatch() can return SA_AIS_OK by >>>>> invoking the callback(s) with truncated values for any long field >>>>> (like comp name, csi name etc). In this way comp will have callbacks >>>>> and AMF will also be maintaining legal COMPCSIs. Actual values can be >>>>> logged. Also the the PR doc and Readme should talk how truncation >>>>> will be performed. >>>>> I think, this can be done in this release. >>>>> Other solution of rejecting the CCB itself can be postponed as of >>>>> now. >>>>> >>>>> >>>>> Thanks, >>>>> Praveen >>>>> >>>>> On 11-Aug-16 10:03 AM, Long Nguyen wrote: >>>>>> Hi Praveen and others, >>>>>> >>>>>> I have an idea marked with [Long] below. >>>>>> >>>>>> Best regards, >>>>>> Long Nguyen. >>>>>> >>>>>> On 8/3/2016 1:45 PM, praveen malviya wrote: >>>>>>> >>>>>>> >>>>>>> On 02-Aug-16 3:39 AM, minh chau wrote: >>>>>>>> Hi Praveen, >>>>>>>> >>>>>>>> One comment with [Minh] in line. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Minh >>>>>>>> >>>>>>>> On 01/08/16 17:22, Gary Lee wrote: >>>>>>>>> Hi Praveen >>>>>>>>> >>>>>>>>> On 1/08/2016 4:29 PM, praveen malviya wrote: >>>>>>>>>> Hi Gary, Long, >>>>>>>>>> >>>>>>>>>> Some comments/observations: >>>>>>>>>> -In AMFD saAisNameBorrow() is used in logging and AMFND uses >>>>>>>>>> osaf_extended_name_borrow(). >>>>>>>>>> For osaf_extended_name_borrow() note in osaf_extended_name.h >>>>>>>>>> says it >>>>>>>>>> is intended for mainly agent libraries. But middle-ware services >>>>>>>>>> always use core libs. At the same time saAisNameBorrow(), I >>>>>>>>>> think, is >>>>>>>>>> for application. >>>>>>>>>> any reason of using them this way and what is the recommended >>>>>>>>>> way? >>>>>>>>> I think I used both styles in amfd. I think we can change >>>>>>>>> saAisNameXX >>>>>>>>> to osaf_extended_name_XX just before pushing, to make it >>>>>>>>> consistent >>>>>>>>> with the rest of the OpenSAF services. >>>>>>>>>> -I think, one case may arrive from upgrade perspective. >>>>>>>>>> Suppose any application (say amf_demo app) is running without >>>>>>>>>> enabling long dn and a csi, with its RDn greater than 256, is >>>>>>>>>> added >>>>>>>>>> dynamically (long dn enabled in IMM). In this case AMFD will >>>>>>>>>> assign >>>>>>>>>> this csi to the running component. Component will not be able to >>>>>>>>>> read >>>>>>>>>> the CSI and may crash. >>>>>>>>>> This is related to invocation of CSI_SET callback but same >>>>>>>>>> will be >>>>>>>>>> valid for PG tracking also. There may be other cases also. >>>>>>>>>> Even truncation will not work in this case. >>>>>>>> [Minh] I think the agent patch that Gary submitted currently >>>>>>>> returns >>>>>>>> SA_AIS_ERR_NAME_TOO_LONG in saAmfDispatch() if long DN callback >>>>>>>> comes to >>>>>>>> legacy application (unadapted long DN app). The real callback >>>>>>>> won't be >>>>>>>> issued but application may crash if it exit() on non-SA_AIS_OK >>>>>>>> from >>>>>>>> Dispatch(). I guess you have seen this with #1553? Do you think >>>>>>>> it's >>>>>>>> good way if amf agent drops the long DN callback and also >>>>>>>> Dispatch() >>>>>>>> returns OK to legacy app, and print error in syslog? >>>>>>> Not observed in the context of #1553, but I remember about such >>>>>>> a fix >>>>>>> in NTF long dn changes. >>>>>>> Returning SA_AIS_OK in Dispatch() call saves application from >>>>>>> crash, >>>>>>> but the problem in AMF is still different as it will maintain a >>>>>>> COMPCSI relationship without comp being actually assigned for that. >>>>>>> >>>>>>> Can we think of a way where AMF will not allow this conf change by >>>>>>> rejecting the CCB operation itself. For this AMF should know >>>>>>> that this >>>>>>> application supports Long dn or not. But this information needs >>>>>>> to be >>>>>>> carried from agent to AMFD. >>>>>>> Before going for such a way, I think, we can ask opinion from other >>>>>>> AMF maintainers. >>>>>>> [Long] You have the good solution. However, it is hard to know >>>>>>> if an >>>>>>> application supports long DN or not at the time of CCB >>>>>>> operration. Can >>>>>>> we make your suggestion as an enhancement later? >>>>>>> >>>>>>> Thanks, >>>>>>> Praveen >>>>>>> >>>>>>> >>>>>>> >>>>>>>>>> - While running some tests observed crashes in amfnd and amfd. >>>>>>>>>> I will update #1642 with bt information. >>>>>>>>> Minh will answer this bit. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> Gary >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >> ------------------------------------------------------------------------------ >> >> >> What NetFlow Analyzer can do for you? Monitors network bandwidth and >> traffic >> patterns at an interface-level. Reveals which users, apps, and >> protocols are >> consuming the most bandwidth. Provides multi-vendor support for NetFlow, >> J-Flow, sFlow and other flows. Make informed decisions using capacity >> planning reports. http://sdm.link/zohodev2dev >> _______________________________________________ >> Opensaf-devel mailing list >> Opensaf-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/opensaf-devel >> > ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://sdm.link/zohodev2dev _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel