On Fri, Aug 22, 2014 at 10:01 PM, Godwin Amila Shrimal <[email protected]> wrote:
> > Hi Amila, > > > As per the discussion we had with Dimuthu and AF team. Listed below the > decision made to implement this. > > > 1. Add onDelete() and onPreDelete() methods to TenantMgtListener interface > Add the onPreDelete() method to TenantMgtListener interface and call that method from the deleteTenant of the TenantMgtService. I don't see the point of adding onDelete method to TenantMgtListenter interface currently. > > 2. Implement those methods in AppFactoryTenantMgtListener as we discussed. > > 3. We don’t use any BPEL implementation and use the existing listeners to > implement this > > 4. Future Cloud products can implement the onDelete() and onPreDelete() > methods in TenantMgtListener interface > > > thanks, dimuthu > Please share your feedback on this. > > Thanks > Godwin > > > > > > > On Fri, Aug 22, 2014 at 6:09 PM, Amila Maha Arachchi <[email protected]> > wrote: > >> +1 for preOnDelete method. Actually there is a place which has this kind >> of an implementation. Thats the user.core. So, we can learn from it and do >> this implementation. >> >> BTW, >> >> Mahesh, can you post what did you agreed online+offline? >> >> >> On Fri, Aug 22, 2014 at 4:51 PM, Mahesh Chinthaka <[email protected]> >> wrote: >> >>> Thanks Dimuthu, Danushka & Ajanthan for your feedback. >>> We will do this with the approach discussed online+offline. >>> >>> >>> On Fri, Aug 22, 2014 at 10:59 AM, Danushka Fernando <[email protected]> >>> wrote: >>> >>>> Hi >>>> +1 for the OnPreDelete concept. But the thing is we don't have this Pre >>>> and Post events anywhere in platform. I think that's something we should >>>> consider about. WDYT? >>>> >>>> Thanks & Regards >>>> Danushka Fernando >>>> Software Engineer >>>> WSO2 inc. http://wso2.com/ >>>> Mobile : +94716332729 >>>> >>>> >>>> On Fri, Aug 22, 2014 at 9:14 AM, Dimuthu Leelarathne <[email protected] >>>> > wrote: >>>> >>>>> Hi Mahesh all, >>>>> >>>>> Lets consider Carbon Platform aspect first. >>>>> >>>>> Before we remove tenant from user core and registry, we have to delete >>>>> it from all other places. So +1 for the interface that would allow >>>>> different product teams to clean up their cleanup process, but here is >>>>> what >>>>> I recommend, >>>>> >>>>> We need a method call "onPreDelete()" on TenantMgtListener. This is to >>>>> allow all product teams to implement it. So the first rule of thumb is, if >>>>> any product is moving to cloud they must implement this method and prove >>>>> that they clean up the tenant before they move to WSO2Cloud. >>>>> >>>>> So basically, in tenant.core what you have to do is call all OSGi >>>>> registered TenantMgtListener's onPreDelete(), and after that delete from >>>>> registry and finally user.core. >>>>> >>>>> That would be the most elegant and extensible fix for platform. >>>>> >>>>> Now we come to AF as a product/solution. We have to implement >>>>> onPreDelete() method. So we as a product team should decide whether we are >>>>> going to implement it from BPEL or not. So as a product in order to be >>>>> WSO2Cloud friendly we have to implement onPreDelete() method. From what I >>>>> feel, I believe the way to do is code + BPEL. >>>>> >>>>> thanks, >>>>> dimuthu >>>>> >>>>> >>>>> On Fri, Aug 22, 2014 at 7:26 AM, Ajanthan Balachandran < >>>>> [email protected]> wrote: >>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Aug 22, 2014 at 5:48 AM, Danushka Fernando < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Ajanthan >>>>>>> Problem with OnDelete is it is called after tenant deleted (After >>>>>>> deleting userstore and registry). But we need to cleanup before that >>>>>>> otherwise we cannot call admin services since tenant is not there. As >>>>>>> per I >>>>>>> mentioned in the previous thread we need to call this at a OnPreDelete. >>>>>>> >>>>>> IMO OnDelete method should be called as first step. >>>>>> >>>>>>> @Mahesh : I think you have missed delete applications step. And >>>>>>> delete applications step would Issue tracker details as well I guess. @ >>>>>>> Ajanthan : Correct me if I am wrong. >>>>>>> >>>>>> Looping through each applications and deleting will not be a salable >>>>>> solution. >>>>>> >>>>>>> Thanks & Regards >>>>>>> Danushka Fernando >>>>>>> Software Engineer >>>>>>> WSO2 inc. http://wso2.com/ >>>>>>> Mobile : +94716332729 >>>>>>> >>>>>>> >>>>>>> On Thu, Aug 21, 2014 at 8:46 PM, Ajanthan Balachandran < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Aug 21, 2014 at 8:24 PM, Mahesh Chinthaka <[email protected] >>>>>>>> > wrote: >>>>>>>> >>>>>>>>> Hi Everyone, >>>>>>>>> >>>>>>>>> >>>>>>>>> We are working on the Training Project -[Cloud] Tenant deletion >>>>>>>>> code/script for cloud - https://redmine.wso2.com/issues/3121. >>>>>>>>> Listed below the workflow of the tenant deletion process in the App >>>>>>>>> Cloud >>>>>>>>> as we identified. >>>>>>>>> >>>>>>>>> 1. Undeploy Jenkins web app from application server >>>>>>>>> >>>>>>>>> 2. Delete Git repository (use gitblit api to delete repo in Git) >>>>>>>>> >>>>>>>>> 3. Unsubscribe Stratos using Stratos Rest Services >>>>>>>>> >>>>>>>>> 4. Check database created by RSSAdmin and delete them >>>>>>>>> >>>>>>>>> 5. Perform TenantMgtAdminService deleteTenant operation >>>>>>>>> >>>>>>>>> - >>>>>>>>> >>>>>>>>> i. Delete Billing data >>>>>>>>> ii. Delete Tenant Registration Data (Ex. REG_CLUSTER_LOCK, >>>>>>>>> REG_LOG) >>>>>>>>> iii. Delete Tenant User management data (Ex. >>>>>>>>> UM_USER_PERMISSION, UM_USER) >>>>>>>>> iv. Remove Tenant information from cache >>>>>>>>> v. Delete UM_TENANT table >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Don't you need to cleanup issue tracker? >>>>>>>> >>>>>>>>> As per the analysis there are two solutions we have identified to >>>>>>>>> implement this , such as BPEL and Carbon Component. We thought of >>>>>>>>> going for >>>>>>>>> a *carbon component* implementation rather than using a* BPEL* >>>>>>>>> due to following reasons. >>>>>>>>> >>>>>>>>> 1. Plugging a Carbon Component will give more extensibility to >>>>>>>>> implement Tenant Deletion operation in future Cloud base products >>>>>>>>> >>>>>>>>> 2. If we used a BPEL we will have to reconstruct at each time when >>>>>>>>> we meet a new requirement (ex: esb cloud integration). >>>>>>>>> >>>>>>>>> >>>>>>>>> Proposed Solution >>>>>>>>> >>>>>>>> Why can't you use existing TenantMgtListener and add onDelete >>>>>>>> method.It also has ListenerOrder and every implementation should >>>>>>>> be registered as OSGI service. >>>>>>>> >>>>>>>>> >>>>>>>>> 1. Create an abstraction for delete operation >>>>>>>>> >>>>>>>>> public interface TenantDeletion{ >>>>>>>>> >>>>>>>>> public void onDeletion(); >>>>>>>>> >>>>>>>>> } >>>>>>>>> >>>>>>>>> 2. Implement TenantDeletion for each operations >>>>>>>>> >>>>>>>>> public class JenkinsAppUndeployer implements TenantDeletion{ >>>>>>>>> >>>>>>>>> public void onDeletion(){ >>>>>>>>> >>>>>>>>> //Implementation of the JenkinsApp undeploy process >>>>>>>>> >>>>>>>>> } >>>>>>>>> >>>>>>>>> } >>>>>>>>> >>>>>>>>> 3. Use a configuration file to maintain the execution order which >>>>>>>>> help to dynamically add new requirement >>>>>>>>> >>>>>>>>> <ExecutionOrder> >>>>>>>>> >>>>>>>>> <class >>>>>>>>> name=”org.wso2.cloud.tenant.JenkinsAppUndeployer”></class> >>>>>>>>> >>>>>>>>> <class name=”org.wso2.cloud.tenant.GitRepoRemover”></class> >>>>>>>>> >>>>>>>>> <class name=”org.wso2.cloud.tenant.XXXXXX”></class> >>>>>>>>> >>>>>>>>> </ExecutionOrder> >>>>>>>>> >>>>>>>>> >>>>>>>>> We are looking for a feedback on this to move forward with >>>>>>>>> selected design. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Mahesh Chinthaka >>>>>>>>> Software Engineer , WSO2. >>>>>>>>> >>>>>>>>> Phone : (+94) 71 63 63 083 >>>>>>>>> Email : [email protected] >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Architecture mailing list >>>>>>>>> [email protected] >>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> ajanthan >>>>>>>> -- >>>>>>>> Ajanthan Balachandiran >>>>>>>> Senior Software Engineer; >>>>>>>> Solutions Technologies Team ;WSO2, Inc.; http://wso2.com/ >>>>>>>> >>>>>>>> email: ajanthan <http://goog_595075977>@wso2.com; cell: >>>>>>>> +94775581497 >>>>>>>> blog: http://bkayts.blogspot.com/ >>>>>>>> >>>>>>>> Lean . Enterprise . Middleware >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Architecture mailing list >>>>>>>> [email protected] >>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Architecture mailing list >>>>>>> [email protected] >>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> ajanthan >>>>>> -- >>>>>> Ajanthan Balachandiran >>>>>> Senior Software Engineer; >>>>>> Solutions Technologies Team ;WSO2, Inc.; http://wso2.com/ >>>>>> >>>>>> email: ajanthan <http://goog_595075977>@wso2.com; cell: +94775581497 >>>>>> blog: http://bkayts.blogspot.com/ >>>>>> >>>>>> Lean . Enterprise . Middleware >>>>>> >>>>>> _______________________________________________ >>>>>> Architecture mailing list >>>>>> [email protected] >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Dimuthu Leelarathne >>>>> Architect & Product Lead of App Factory >>>>> >>>>> WSO2, Inc. (http://wso2.com) >>>>> email: [email protected] >>>>> Mobile : 0773661935 >>>>> >>>>> Lean . Enterprise . Middleware >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> Mahesh Chinthaka >>> Software Engineer , WSO2. >>> >>> Phone : (+94) 71 63 63 083 >>> Email : [email protected] >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> *Amila Maharachchi* >> Senior Technical Lead >> WSO2, Inc.; http://wso2.com >> >> Blog: http://maharachchi.blogspot.com >> Mobile: +94719371446 >> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > *Godwin Amila Shrimal* > Senior Software Engineer > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > mobile: *+94772264165* > linkedin: *http://lnkd.in/KUum6D <http://lnkd.in/KUum6D>* > twitter: https://twitter.com/godwinamila > -- Dimuthu Leelarathne Architect & Product Lead of App Factory WSO2, Inc. (http://wso2.com) email: [email protected] Mobile : 0773661935 Lean . Enterprise . Middleware
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
