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

Reply via email to