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

Reply via email to