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
