I know. That's why I asked before Alex Huang to let me know when he's available after he's coming back next week.
Have a good vacation. Thanks Alex Ough On Wed, May 14, 2014 at 4:21 PM, Alena Prokharchyk < alena.prokharc...@citrix.com> wrote: > Alex, I’m on vacation tomorrow; leaving today at 2 pm. > > Thanks, > Alena. > > From: Alex Ough <alex.o...@sungardas.com> > Date: Wednesday, May 14, 2014 at 1:18 PM > > To: Alena Prokharchyk <alena.prokharc...@citrix.com> > Cc: Alex Huang <alex.hu...@citrix.com>, Murali Reddy < > murali.re...@citrix.com>, Kishan Kavala <kishan.kav...@citrix.com>, " > dev@cloudstack.apache.org" <dev@cloudstack.apache.org> > Subject: Re: Control event publishing in multi region setups > > My meeting is being delayed, so let me know when you guys are available > from tomorrow. > > Thanks > Alex Ough > > > On Wed, May 14, 2014 at 3:05 PM, Alex Ough <alex.o...@sungardas.com>wrote: > >> I have a meeting in 20 min which is estimated to end 1pm PST, so I'll let >> you know once it is over. >> >> >> On Wed, May 14, 2014 at 3:01 PM, Alena Prokharchyk < >> alena.prokharc...@citrix.com> wrote: >> >>> Alex, sure we can have a call. I’m in the office till 2 pm PST today. >>> Send the meeting invitation to me and Alex. >>> >>> From: Alex Ough <alex.o...@sungardas.com> >>> Date: Wednesday, May 14, 2014 at 11:33 AM >>> >>> To: Alena Prokharchyk <alena.prokharc...@citrix.com> >>> Cc: Alex Huang <alex.hu...@citrix.com>, Murali Reddy < >>> murali.re...@citrix.com>, Kishan Kavala <kishan.kav...@citrix.com>, " >>> dev@cloudstack.apache.org" <dev@cloudstack.apache.org> >>> Subject: Re: Control event publishing in multi region setups >>> >>> I think I forgot to mention this, but I think we should talk with >>> Alex Huang also because you need his approval. >>> So let me know when you guys are available and let's just stop sending >>> emails back and forth. >>> >>> Thanks >>> Alex Ough >>> >>> >>> On Wed, May 14, 2014 at 2:30 PM, Alex Ough <alex.o...@sungardas.com>wrote: >>> >>>> Alena, >>>> >>>> I think we should talk, so please let me know when you're available. >>>> >>>> Thanks >>>> Alex Ough >>>> >>>> >>>> On Wed, May 14, 2014 at 1:36 PM, Alena Prokharchyk < >>>> alena.prokharc...@citrix.com> wrote: >>>> >>>>> Alex, we do understand how “Full Scan” works and we know that your >>>>> component/other components using Full Scan, should be able to distinguish >>>>> whether the event was generated locally or by another region. >>>>> >>>>> Changing the event by enhancing it with “Local” flag is not a >>>>> desired solution as its very specific to your feature, and we should never >>>>> modify the CS code just to satisfy only a certain plugin/service needs. >>>>> The >>>>> same applies to introducing another method w/o event generation. Both >>>>> solutions are incorrect, and I’m against putting them to the CS. >>>>> >>>>> Here are the rules that should apply to account/domain/user changes >>>>> on the CS side: >>>>> >>>>> >>>>> 1. The event should be generated regardless of who makes the call >>>>> 2. The event should be light weight and contain the minimum >>>>> details – object id/uuid/status. If we let third party components to >>>>> enhance the events, they would grow exponentially and certain details >>>>> would >>>>> make sense just to specific plugin. So no changes to the event object >>>>> unless its something generic and would make sense for all the >>>>> subscribers. >>>>> 3. If subscriber needs to get more details about the object – >>>>> account/domain/user – he needs to request those details by calling >>>>> listAccount/listDomains/listUsers API after getting the event. And >>>>> object >>>>> itself should give you information about: >>>>> >>>>> >>>>> - Latest updates >>>>> - Who performed the latest update – which region. >>>>> >>>>> So the solution for your plugin would be as Alex Huang suggested >>>>> originally – add extra field to account/domain/user object defining who >>>>> did >>>>> the update. Copying his suggestion below: >>>>> >>>>> "Now the detail is in how do we know if an account is created or >>>>> propagated. For that, it can be done in a number of ways. I’m open to >>>>> which method. I would suggest that we add two fields to account: >>>>> origination region and original uuid. The create account API takes an >>>>> optional fields for the origination region and origination account uuid. >>>>> If these two parameters are not set in the API, the API set the >>>>> origination region to the current region and the original uuid to the uuid >>>>> of the account. " >>>>> >>>>> >>>>> Thanks, >>>>> Alena. >>>>> >>>>> From: Alex Ough <alex.o...@sungardas.com> >>>>> Date: Wednesday, May 14, 2014 at 6:44 AM >>>>> To: Alena Prokharchyk <alena.prokharc...@citrix.com> >>>>> >>>>> Cc: Alex Huang <alex.hu...@citrix.com>, Murali Reddy < >>>>> murali.re...@citrix.com>, Kishan Kavala <kishan.kav...@citrix.com>, " >>>>> dev@cloudstack.apache.org" <dev@cloudstack.apache.org> >>>>> Subject: Re: Control event publishing in multi region setups >>>>> >>>>> Alena/Alex Hwang, >>>>> >>>>> I totally understand your concerns, but I'm afraid you guys don't >>>>> seem to understand how the 'Full scan' works. >>>>> If I understood correctly, Alex Hwang's suggestion does NOT work >>>>> because it is NOT the matter of propagation. >>>>> The event subscribers that processes the Full Scan needs to discard >>>>> all events even if they have the region value of 'Local'. >>>>> >>>>> So to resolve this issue, >>>>> 1. The methods to manage the domain/account/user resources needs to >>>>> send events that include a kind of boolean flag that notify the 'Full >>>>> Scan' >>>>> subscribers to discard the events even if the region value is 'Local' >>>>> 2. To add that flag into their events, the methods should have >>>>> additional input parameter for the flag value the caller can assign along >>>>> with the region input param value of null >>>>> 3. Then what is the difference with having another method not to >>>>> generate event? >>>>> >>>>> Let me know if I'm missing any. >>>>> Thanks >>>>> Alex Ough >>>>> >>>>> >>>>> On Tue, May 13, 2014 at 12:56 PM, Alena Prokharchyk < >>>>> alena.prokharc...@citrix.com> wrote: >>>>> >>>>>> Alex, how do you know that the data is useless? Only the recipient >>>>>> can make this judgement. In your case you know that the recipient – your >>>>>> local region – doesn’t need this data, but you can’t make this call on >>>>>> behalf of everybody else. Example of the possible scenario: somebody >>>>>> wants >>>>>> to perform user’s update once corresponding account gets updated, within >>>>>> the same region. And they rely on in-memory bus to catch updateAccount >>>>>> event in order to execute updateUser operation. So the event always has >>>>>> to >>>>>> be published. >>>>>> >>>>>> The conclusion: Any update done to the account/domain/user, should >>>>>> generate the event. The recipient should make a decision whether to >>>>>> ignore >>>>>> the event, or process it further. Alex proposed to enhance the >>>>>> account/domain/user object with the field identifying who’s triggered the >>>>>> upgrade to give more details to the recipient. >>>>>> >>>>>> -Alena. >>>>>> >>>>>> From: Alex Ough <alex.o...@sungardas.com> >>>>>> Date: Monday, May 12, 2014 at 6:14 PM >>>>>> >>>>>> To: Alena Prokharchyk <alena.prokharc...@citrix.com> >>>>>> Cc: Alex Huang <alex.hu...@citrix.com>, Murali Reddy < >>>>>> murali.re...@citrix.com>, Kishan Kavala <kishan.kav...@citrix.com>, " >>>>>> dev@cloudstack.apache.org" <dev@cloudstack.apache.org> >>>>>> Subject: Re: Control event publishing in multi region setups >>>>>> >>>>>> I'm not really sure why you think it is a bug. And why do you want >>>>>> to send data that is absolutely useless to the destination? >>>>>> >>>>>> Thanks >>>>>> Alex Ough >>>>>> >>>>>> >>>>>> On Mon, May 12, 2014 at 6:19 PM, Alena Prokharchyk < >>>>>> alena.prokharc...@citrix.com> wrote: >>>>>> >>>>>>> Alex, I can’t approve the current approach you use in your fix. >>>>>>> The reason that there are bugs in the current CS code, and therefore we >>>>>>> can >>>>>>> contribute more to the buggy behavior, doesn’t sound right to me. And >>>>>>> we >>>>>>> have –1 from Alex Huang on that as well. >>>>>>> >>>>>>> We either fix it as a part of this commit, or you can fix it >>>>>>> later. But it has to make it to 4.5, otherwise the original fix will be >>>>>>> rolled back. You can finalize the approach with Alex, and I will check >>>>>>> in >>>>>>> your code as soon as its done, either before I go on vacation, or after >>>>>>> I’m >>>>>>> back. >>>>>>> >>>>>>> -Alena. >>>>>>> >>>>>>> From: Alex Ough <alex.o...@sungardas.com> >>>>>>> Date: Monday, May 12, 2014 at 3:13 PM >>>>>>> To: Alena Prokharchyk <alena.prokharc...@citrix.com> >>>>>>> Cc: Alex Huang <alex.hu...@citrix.com>, Murali Reddy < >>>>>>> murali.re...@citrix.com>, Kishan Kavala <kishan.kav...@citrix.com>, >>>>>>> "dev@cloudstack.apache.org" <dev@cloudstack.apache.org> >>>>>>> >>>>>>> Subject: Re: Control event publishing in multi region setups >>>>>>> >>>>>>> That is not good, but I'm wondering if you can approve after our >>>>>>> conversation without consulting with Alex Hwang. >>>>>>> >>>>>>> Thanks >>>>>>> Alex Ough >>>>>>> >>>>>>> >>>>>>> On Mon, May 12, 2014 at 2:37 PM, Alena Prokharchyk < >>>>>>> alena.prokharc...@citrix.com> wrote: >>>>>>> >>>>>>>> We do have to come to conclusion for this remaining issue before >>>>>>>> committing the patches below: >>>>>>>> (https://reviews.apache.org/r/20099/ and >>>>>>>> https://reviews.apache.org/r/17790/) >>>>>>>> >>>>>>>> Alex (Ough), I’m going to be on vacation from May 15th till May >>>>>>>> 31st, if you and Alex(Huang) have your discussion/resolution while I’m >>>>>>>> away, I can commit the patches only after I’m back. >>>>>>>> >>>>>>>> Thank you! >>>>>>>> Alena. >>>>>>>> >>>>>>>> From: Alex Ough <alex.o...@sungardas.com> >>>>>>>> Date: Sunday, May 11, 2014 at 10:10 PM >>>>>>>> To: Alex Huang <alex.hu...@citrix.com> >>>>>>>> Cc: Murali Reddy <murali.re...@citrix.com>, Alena Prokharchyk < >>>>>>>> alena.prokharc...@citrix.com>, Kishan Kavala < >>>>>>>> kishan.kav...@citrix.com>, "dev@cloudstack.apache.org" < >>>>>>>> dev@cloudstack.apache.org> >>>>>>>> >>>>>>>> Subject: Re: Control event publishing in multi region setups >>>>>>>> >>>>>>>> Alex, >>>>>>>> >>>>>>>> It looks like I'd better wait until you're back because I'm >>>>>>>> afraid Alena seems to need your approval based on what I've been >>>>>>>> through. >>>>>>>> Let me know once you're back. >>>>>>>> >>>>>>>> Thanks >>>>>>>> Alex Ough >>>>>>>> >>>>>>>> >>>>>>>> On Sat, May 10, 2014 at 12:50 PM, Alex Huang <alex.hu...@citrix.com >>>>>>>> > wrote: >>>>>>>> >>>>>>>>> Alex and Alena, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Perhaps, it’s best you two get on the phone about this. I don’t >>>>>>>>> see Alex understanding what I’m saying over email so there’s no point >>>>>>>>> in me >>>>>>>>> repeating it. I’m not around next week and I think Alena is out after >>>>>>>>> Wednesday. Something on Monday or Tuesday would be a good idea or >>>>>>>>> you can >>>>>>>>> wait for me to come back the week after. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> --Alex >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From:* Alex Ough [mailto:alex.o...@sungardas.com] >>>>>>>>> *Sent:* Saturday, May 10, 2014 9:28 AM >>>>>>>>> *To:* Alex Huang >>>>>>>>> >>>>>>>>> *Cc:* Murali Reddy; Alena Prokharchyk; Kishan Kavala; >>>>>>>>> dev@cloudstack.apache.org >>>>>>>>> *Subject:* Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> And I'm really wondering if you understood how the 'Full Scan' >>>>>>>>> works. It is absolutely internal operations. >>>>>>>>> >>>>>>>>> Why do we force to use the event generating methods when the >>>>>>>>> updates are only internal and never, ever, ever ... need events? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Let me know if there is any chance it needs to use the events, >>>>>>>>> then I'll follow your suggestion. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> >>>>>>>>> Alex Ough >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sat, May 10, 2014 at 11:55 AM, Alex Ough < >>>>>>>>> alex.o...@sungardas.com> wrote: >>>>>>>>> >>>>>>>>> I really don't know why you guys are making it complicated. >>>>>>>>> >>>>>>>>> The class has two different methods, one with 'event' decorator >>>>>>>>> and the other without it. >>>>>>>>> >>>>>>>>> So the callers know which method to call depending on their needs. >>>>>>>>> >>>>>>>>> And the each method will be called accordingly. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sat, May 10, 2014 at 6:13 AM, Alex Huang <alex.hu...@citrix.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> -1 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I do not believe in the argument that says “since there’s existing >>>>>>>>> bad code, then I can check in code that also causes regressions for >>>>>>>>> users.” >>>>>>>>> If that’s the case, what’s the point of the review? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> We’ve offered a path forward already. Please reconsider that. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> --Alex >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From:* Alex Ough [mailto:alex.o...@sungardas.com] >>>>>>>>> *Sent:* Friday, May 9, 2014 9:14 PM >>>>>>>>> *To:* Alex Huang >>>>>>>>> *Cc:* Murali Reddy; Alena Prokharchyk; Kishan Kavala; >>>>>>>>> dev@cloudstack.apache.org >>>>>>>>> >>>>>>>>> >>>>>>>>> *Subject:* Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Are we going to rolling this out? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, May 8, 2014 at 2:28 PM, Alex Ough <alex.o...@sungardas.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> That's why there are 2 methods, one is that generates events and >>>>>>>>> the other not and there are already a few public methods without event >>>>>>>>> decoration. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, May 8, 2014 at 2:25 PM, Alex Huang <alex.hu...@citrix.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Alex, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I did read this when you first proposed. I do understand the two >>>>>>>>> implementation. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I understand that #2 is not activated via events but it doesn’t >>>>>>>>> mean #2 can just don’t generate events. The blocker is precisely >>>>>>>>> with the >>>>>>>>> last sentence in #2 where it states #2 doesn’t generate an event when >>>>>>>>> “it >>>>>>>>> creates/updates/removes the resource in the local region”. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Perhaps an example would make this more clear. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Someone who deploys CloudStack sets up a process to listen to >>>>>>>>> account events. It is a simple audit process whose job is to verify >>>>>>>>> that >>>>>>>>> an account created in CloudStack is actually in their own billing >>>>>>>>> database. The fact that #2 doesn’t generate an event would mean this >>>>>>>>> process would be broken for them. This is the regression that causes >>>>>>>>> the >>>>>>>>> blocker. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> --Alex >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From:* Alex Ough [mailto:alex.o...@sungardas.com] >>>>>>>>> *Sent:* Thursday, May 8, 2014 11:02 AM >>>>>>>>> *To:* Alex Huang >>>>>>>>> *Cc:* Murali Reddy; Alena Prokharchyk; Kishan Kavala >>>>>>>>> >>>>>>>>> >>>>>>>>> *Subject:* Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Alex, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I think you really review the wiki ( >>>>>>>>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions) >>>>>>>>> or the implemented codes. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> To help you understand, there are 2 synchronizations supported in >>>>>>>>> this feature. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 1. real time sync : This is what you may imagine and event based. >>>>>>>>> This is sending requests when they are created/updated/removed in the >>>>>>>>> local >>>>>>>>> region by subscribing their events. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2. full scan : This is NOT related with events and it is to cover >>>>>>>>> when the #1 sync is failed with any reason like network failures. With >>>>>>>>> interval, it just scans all resources and compare them with ones in >>>>>>>>> remote >>>>>>>>> regions and if there is any missing in the local region, it >>>>>>>>> creates/updates/removes the resource in the local region and the NEW >>>>>>>>> METHODS I need are called because it is local region only and no need >>>>>>>>> to >>>>>>>>> have events. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I'm hoping you understand the feature a little more and let me >>>>>>>>> know if you need more information. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> >>>>>>>>> Alex Ough >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, May 8, 2014 at 1:43 PM, Alex Huang <alex.hu...@citrix.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi Alex, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Please know that the contribution is much appreciated. It is not >>>>>>>>> a case of whether or not Alena “wants” or “doesn’t want” to approve >>>>>>>>> the >>>>>>>>> review. She can only approve if the design is sound and has no >>>>>>>>> regression >>>>>>>>> for existing deployments of CloudStack. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> This is a blocker because not publishing events when an account is >>>>>>>>> propagated is actually an “incorrect” behavior for CloudStack. Any >>>>>>>>> functionality that acts on an account creation within the region will >>>>>>>>> face >>>>>>>>> regression. That’s why it is not “an additional feature” and must be >>>>>>>>> fixed. Think of SunGuard itself. If it was depending on the account >>>>>>>>> creation event and the next version of CloudStack suddenly doesn’t >>>>>>>>> generate >>>>>>>>> the event consistently, would it not consider this a bug and ask us >>>>>>>>> to fix >>>>>>>>> it? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I do understand the time consuming nature of providing patches and >>>>>>>>> merging code. Alena tells me that she has reviewed the code and she >>>>>>>>> thinks >>>>>>>>> the design is fine except for this one item. If we can commit to fix >>>>>>>>> this >>>>>>>>> problem after the code is checked in, we can check it in now just so >>>>>>>>> you >>>>>>>>> don’t have to do another round of merge and review for the part that >>>>>>>>> is >>>>>>>>> working. But the fix will need to be in before the code is released >>>>>>>>> or >>>>>>>>> else we might have to revert this checkin. What do you think? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> --Alex >>>>>>>>> >>>>>>>>> P.S. I’m not sure why this is not on the dev list. We should >>>>>>>>> bring this back. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From:* Alex Ough [mailto:alex.o...@sungardas.com] >>>>>>>>> *Sent:* Wednesday, May 7, 2014 4:58 PM >>>>>>>>> *To:* Murali Reddy >>>>>>>>> *Cc:* Alena Prokharchyk; Alex Huang; Kishan Kavala >>>>>>>>> >>>>>>>>> >>>>>>>>> *Subject:* Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> All, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Alena doesn't want to approve my implementation because of this >>>>>>>>> email thread, but I'm frustrated and not sure why this is a blocker. >>>>>>>>> >>>>>>>>> What I did was just created another method without an event tag >>>>>>>>> like the one already existing in 'AccountManagerImpl' class as below. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> @Override >>>>>>>>> >>>>>>>>> public boolean enableAccount(long accountId) >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> And if we need this feature, we really need to create a new jira >>>>>>>>> instead of adding it to already existing one >>>>>>>>> >>>>>>>>> so that we can discuss options to find a best solution. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> It's been a really long path mostly because of miscommunications, >>>>>>>>> and I really want to wrap this up without adding a new feature that >>>>>>>>> is not >>>>>>>>> existing. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Let me know what you think. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> >>>>>>>>> Alex Ough >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, May 7, 2014 at 10:29 AM, Murali Reddy < >>>>>>>>> murali.re...@citrix.com> wrote: >>>>>>>>> >>>>>>>>> I don’t think we need to bring back reverted changes, as we want >>>>>>>>> all the events generated should be published all the time with in the >>>>>>>>> region. I agree with Alex Huang, that we could actually add details >>>>>>>>> (originating region) to the account indicating source region where >>>>>>>>> account >>>>>>>>> is created. Details particular to an event published on the event bus >>>>>>>>> is a >>>>>>>>> JSON object so we can add additional details. Also steps listed out >>>>>>>>> by Alex >>>>>>>>> should prevent from cyclic propagation. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Alex Ough, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Suggested steps below by alex should work for you. Do you see any >>>>>>>>> problem with that? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> Murali >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From: *Alena Prokharchyk <alena.prokharc...@citrix.com> >>>>>>>>> *Date: *Wednesday, 7 May 2014 5:56 AM >>>>>>>>> *To: *Alex Huang <alex.hu...@citrix.com>, Alex Ough < >>>>>>>>> alex.o...@sungardas.com>, Kishan Kavala <kishan.kav...@citrix.com>, >>>>>>>>> Murali Reddy <murali.re...@citrix.com> >>>>>>>>> >>>>>>>>> >>>>>>>>> *Subject: *Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Alex (Huang), thanks for commenting. As a conclusion – we should >>>>>>>>> never omit event firing when submit create/update. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Kishan/Murali, can you please help Alex (Ough) to figure out how >>>>>>>>> to implement the behavior Kishan reverted. Kishan, can you check with >>>>>>>>> Murali how to bring back your reverted changes for the API to make it >>>>>>>>> work >>>>>>>>> with the new events framework? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thank you, >>>>>>>>> >>>>>>>>> Alena. >>>>>>>>> >>>>>>>>> *From: *Alex Huang <alex.hu...@citrix.com> >>>>>>>>> *Date: *Tuesday, May 6, 2014 at 10:17 AM >>>>>>>>> *To: *Alena Prokharchyk <alena.prokharc...@citrix.com>, Alex Ough >>>>>>>>> <alex.o...@sungardas.com> >>>>>>>>> *Cc: *Kishan Kavala <kishan.kav...@citrix.com> >>>>>>>>> *Subject: *RE: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Hey guys, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I’m not sure we’re all on the same page. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> First, the event must always be published, regardless of if it was >>>>>>>>> propagated from another region or created originally in that region. >>>>>>>>> The >>>>>>>>> reason is there may be other code interested in acting on account >>>>>>>>> creation >>>>>>>>> in a region. We just need to provide a way for Alex’s code to >>>>>>>>> determine >>>>>>>>> that the account is propagated rather than created originally in the >>>>>>>>> region. You don’t need details in the event for that. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> The propagation code can do the following. It’s probably already >>>>>>>>> doing that. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 1. Listen for the account creation event. >>>>>>>>> >>>>>>>>> 2. Upon receiving an account creation event, retrieve the >>>>>>>>> account to check if the account is propagated or created. >>>>>>>>> >>>>>>>>> 3. If propagated, then don’t propagate or maybe even signal >>>>>>>>> back that the propagation is done for this region (depending on the >>>>>>>>> propagation logic). If created, then propagate to other regions. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Now the detail is in how do we know if an account is created or >>>>>>>>> propagated. For that, it can be done in a number of ways. I’m open >>>>>>>>> to >>>>>>>>> which method. I would suggest that we add two fields to account: >>>>>>>>> origination region and original uuid. The create account API takes an >>>>>>>>> optional fields for the origination region and origination account >>>>>>>>> uuid. >>>>>>>>> If these two parameters are not set in the API, the API set the >>>>>>>>> origination region to the current region and the original uuid to the >>>>>>>>> uuid >>>>>>>>> of the account. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Sorry for the confusion here. I had thought Kishan added this but >>>>>>>>> apparently it has been reverted. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> --Alex >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From:* Alena Prokharchyk >>>>>>>>> *Sent:* Tuesday, May 6, 2014 9:57 AM >>>>>>>>> *To:* Alex Ough >>>>>>>>> *Cc:* Kishan Kavala; Alex Huang >>>>>>>>> *Subject:* Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Ok, thank you Alex, so looks like there is no other workaround as >>>>>>>>> of now rather than introducing the new methods to the managers. Just >>>>>>>>> go >>>>>>>>> ahead and submit the rest of the fixes for both review tickets, and I >>>>>>>>> will >>>>>>>>> commit the patch after that. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -Alena. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From: *Alex Ough <alex.o...@sungardas.com> >>>>>>>>> *Date: *Tuesday, May 6, 2014 at 9:48 AM >>>>>>>>> *To: *Alena Prokharchyk <alena.prokharc...@citrix.com> >>>>>>>>> *Cc: *Kishan Kavala <kishan.kav...@citrix.com>, Alex Huang < >>>>>>>>> alex.hu...@citrix.com> >>>>>>>>> *Subject: *Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I'm afraid it is not possible because the events are set in the >>>>>>>>> method level and one of my colleagues implemented to enable/disable >>>>>>>>> events, >>>>>>>>> but this is working as globally. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, May 6, 2014 at 12:44 PM, Alena Prokharchyk < >>>>>>>>> alena.prokharc...@citrix.com> wrote: >>>>>>>>> >>>>>>>>> Kishan, any updates from Murali? All we need to know is – if >>>>>>>>> controlling events possible when command is fired through CS client >>>>>>>>> APIs >>>>>>>>> today. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thank you! >>>>>>>>> >>>>>>>>> Alena. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From: *Kishan Kavala <kishan.kav...@citrix.com> >>>>>>>>> *Date: *Tuesday, May 6, 2014 at 7:22 AM >>>>>>>>> *To: *Alena Prokharchyk <alena.prokharc...@citrix.com> >>>>>>>>> *Cc: *Alex Ough <alex.o...@sungardas.com>, Alex Huang < >>>>>>>>> alex.hu...@citrix.com> >>>>>>>>> >>>>>>>>> >>>>>>>>> *Subject: *Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Alena, >>>>>>>>> >>>>>>>>> Events are published using the event framework introduced by >>>>>>>>> Murali. It can contain additional details to indicate whether an event >>>>>>>>> should be propagated to other regions. >>>>>>>>> >>>>>>>>> In the implementation I added using API sync, there was a flag in >>>>>>>>> the API params to indicate whether to propagate event or not. I >>>>>>>>> reverted >>>>>>>>> this code later when we moved to use event framework. >>>>>>>>> >>>>>>>>> I'll check with Murali for more details regarding adding custom >>>>>>>>> details / extending event details. >>>>>>>>> >>>>>>>>> >>>>>>>>> On 06-May-2014, at 4:52 am, "Alena Prokharchyk" < >>>>>>>>> alena.prokharc...@citrix.com> wrote: >>>>>>>>> >>>>>>>>> Alex, I understand that. But if Kishan implemented the way of >>>>>>>>> extending the events with the details that can be later on read by >>>>>>>>> events >>>>>>>>> recipient, then you should be able to use the API. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> If there is no such support, the I agree that the way you do it >>>>>>>>> now, is the only one way to achieve the desired functionality. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -Alena. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From: *Alex Ough <alex.o...@sungardas.com> >>>>>>>>> *Date: *Monday, May 5, 2014 at 4:08 PM >>>>>>>>> *To: *Alex Huang <alex.hu...@citrix.com> >>>>>>>>> *Cc: *Alena Prokharchyk <alena.prokharc...@citrix.com>, Kishan >>>>>>>>> Kavala <kishan.kav...@citrix.com> >>>>>>>>> *Subject: *Re: Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> That's exactly why I need methods that do NOT generate events when >>>>>>>>> the create/update/delete is just for local resources. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, May 5, 2014 at 7:06 PM, Alex Huang <alex.hu...@citrix.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> That’s actually what I said. Let me clarify. When Kishan added >>>>>>>>> the region feature, we discussed the problem of infinite circular >>>>>>>>> propagation because each management server that adds an account will >>>>>>>>> attempt to propagate it to all the regions by adding it to that >>>>>>>>> region and >>>>>>>>> so on. The API needs provide a way for that propagation to be >>>>>>>>> terminated. >>>>>>>>> That doesn’t mean we don’t publish the event in the region where the >>>>>>>>> account is propagated to. We still should publish the event because >>>>>>>>> that >>>>>>>>> region did add a new account but the event needs to contain enough >>>>>>>>> details >>>>>>>>> for anyone listening to the event to determine that they should not >>>>>>>>> propagate the account creation. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> --Alex >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *From:* Alena Prokharchyk >>>>>>>>> *Sent:* Monday, May 5, 2014 2:39 PM >>>>>>>>> *To:* Kishan Kavala; Alex Ough >>>>>>>>> *Cc:* Alex Huang >>>>>>>>> *Subject:* Control event publishing in multi region setups >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Kishan, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Have a question to you. Alex Huang mentioned to me that you were >>>>>>>>> planning to add support for controlling event publishing in multi >>>>>>>>> regions >>>>>>>>> setup. So you can control whether you want to publish the event in a >>>>>>>>> particular region when create/update/delete account/domain API call is >>>>>>>>> made. Can you please tell us if you’ve implemented it? And what >>>>>>>>> parameters >>>>>>>>> need to be passed to the API call to achieve that. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Alex (Ought), if Kishan didn’t implement this, then I agree with >>>>>>>>> the way you’ve added new methods to Account/DomainManagers to do the >>>>>>>>> object >>>>>>>>> update w/o the event generation. Lets wait for Kishan’s reply. By >>>>>>>>> now, you >>>>>>>>> can go ahead and fix 1) and 2) in >>>>>>>>> https://reviews.apache.org/r/20099/ which is not related to event >>>>>>>>> generation. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Thank you! >>>>>>>>> >>>>>>>>> -Alena. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >