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

Reply via email to