Good to know.. Thanks. :)
On Sat, Aug 23, 2014 at 9:04 PM, Amila Maha Arachchi <[email protected]> wrote: > This is definitely going to be available for standalone products :) > > At the moment our target is Cloud deployment. i.e. 4.2.0 products. But, > this will definitely added to trunk. > > > On Sat, Aug 23, 2014 at 9:01 PM, Kasun Gajasinghe <[email protected]> wrote: > >> Hi, >> >> Curious to know couple of things.. >> >> Will this be available for stand-alone products as well? tenant-deletion >> is a requirement for stand-alone products as well, so it would be good if >> this is available in stand-alone products as well. >> >> Where will the development happen? For Carbon trunk, the tenant-mgt code >> can be found here [1] and the tenant-mgt code is no longer available in >> Stratos. Will you also be using the trunk? >> >> [1] >> https://github.com/wso2/carbon-multitenancy/tree/master/components/tenant-mgt >> >> Thanks, >> KasunG >> >> >> On Sat, Aug 23, 2014 at 8:40 PM, Amila Maha Arachchi <[email protected]> >> wrote: >> >>> >>> >>> >>> On Sat, Aug 23, 2014 at 3:12 AM, Dimuthu Leelarathne <[email protected]> >>> wrote: >>> >>>> >>>> >>>> >>>> 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. >>>> >>> >>> I see couple of problems with this approach. >>> >>> 1. Since this involved an interface change, we are going to get trouble >>> when using this with existing products in our setup. We'll have to patch >>> their tenant.mgt code and all implementations of the listener. >>> 2. Even if we add the onPreDelete method, it will only execute the >>> implementation classes in that jvm only. So, if I call the deleteTenant >>> method in AF, it won't affect other products such as SS, Jenkins AS, >>> Stratos Manager. This will end of tenants' bits and pieces remaining in >>> other products even after we delete the tenant. >>> >>> Do we have a solution for this? >>> >>>> >>>> >>>> >>>>> >>>>> >>>> 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 >>>> >>> >>> >>> >>> -- >>> *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 >>> >>> >> >> >> -- >> >> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc. >> email: kasung AT spamfree wso2.com >> linked-in: http://lk.linkedin.com/in/gajasinghe >> blog: http://kasunbg.org >> >> >> > > > > -- > *Amila Maharachchi* > Senior Technical Lead > WSO2, Inc.; http://wso2.com > > Blog: http://maharachchi.blogspot.com > Mobile: +94719371446 > > -- *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc. email: kasung AT spamfree wso2.com linked-in: http://lk.linkedin.com/in/gajasinghe blog: http://kasunbg.org
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
