Cool.. thanks Imesh. I am gonna try this feature.

On Wed, May 7, 2014 at 12:36 AM, Imesh Gunaratne <[email protected]> wrote:

> A good question, tenant has a data structure like below:
>
> Tenant -> Subscription -> Subscription Domain
>
> Since tenant information is published to tenant topic periodically,
> subscription domain information included in that.
>
>
>
> On Tue, May 6, 2014 at 9:27 PM, Nirmal Fernando <[email protected]>wrote:
>
>> Hi Imesh,
>>
>> Thanks for the reply. How would LB withstand a re-start? How it gets to
>> know about the existing domain mappings?
>>
>>
>> On Tue, May 6, 2014 at 8:28 PM, Imesh Gunaratne <[email protected]> wrote:
>>
>>> No, domain mappings are persisted with the cartridge subscriptions (as
>>> an aggregate to subscription) in SM.
>>>
>>>
>>>
>>> On Tue, May 6, 2014 at 7:00 PM, Nirmal Fernando 
>>> <[email protected]>wrote:
>>>
>>>> Hi Imesh,
>>>>
>>>> Are you persisting these domain mappings in the topology?
>>>>
>>>>
>>>> On Sun, May 4, 2014 at 10:48 PM, Imesh Gunaratne <[email protected]>wrote:
>>>>
>>>>> As I found HTTP DELETE requests do not include a message body,
>>>>> therefore I have updated the subscription domain remove method as follows:
>>>>>
>>>>> *Remove subscription domains:*
>>>>> *Send a DELETE request to the following URL with tenant credentials to
>>>>> remove a domain:*
>>>>>
>>>>> *DELETE
>>>>>  
>>>>> https://sm-ip:sm-port/stratos/admin/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/some.oragnization1.org
>>>>> <http://some.oragnization1.org/>*
>>>>>
>>>>> In-addition I have added a new method to validate domain names. This
>>>>> method will return false if the given domain is already registered with a
>>>>> subscription or true if it is valid for registration.
>>>>>
>>>>> *GET
>>>>>  
>>>>> https://sm-ip:sm-port/stratos/admin/cartridge/subscription/domain/some.oragnization1.org
>>>>> <http://some.oragnization1.org/>/is-valid*
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> On Fri, May 2, 2014 at 10:55 PM, Imesh Gunaratne <[email protected]>wrote:
>>>>>
>>>>>> Yes I think it will not cause any problems to request-in-flight (RIF)
>>>>>> stats. The RIF stat collector was implemented to track requests in-flight
>>>>>> count on each cluster:
>>>>>>
>>>>>>     // Map<ClusterId, Integer>
>>>>>>     private Map<String, Integer> clusterIdRequestCountMap;
>>>>>>
>>>>>>
>>>>>> On Fri, May 2, 2014 at 10:12 PM, Nirmal Fernando <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi Imesh,
>>>>>>>
>>>>>>> Sorry, I meant for the cluster. But I can't remember how we
>>>>>>> implemented the request-in-flight stats collector. So, what I wanted to 
>>>>>>> get
>>>>>>> verified is even a user send a request from a mapped domain, we would 
>>>>>>> still
>>>>>>> collect stats for the corresponding cluster.
>>>>>>>
>>>>>>>
>>>>>>> On Fri, May 2, 2014 at 10:05 PM, Imesh Gunaratne 
>>>>>>> <[email protected]>wrote:
>>>>>>>
>>>>>>>> Hi Nirmal,
>>>>>>>>
>>>>>>>> Can you please explain this requirement further? I'm not sure why
>>>>>>>> we need to track request-in-flight against domain names.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, May 2, 2014 at 9:34 PM, Nirmal Fernando <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi Imesh,
>>>>>>>>>
>>>>>>>>> We also need to support request in-flight stats for domain maaped
>>>>>>>>> urls, in order to auto-scaling to work correctly. Do we have it 
>>>>>>>>> covered?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Apr 29, 2014 at 9:59 AM, Imesh Gunaratne <[email protected]
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Currently tenants cannot map custom domain names to
>>>>>>>>>> subscriptions. The only possibility is to use hostnames generated by
>>>>>>>>>> Stratos Manager for accessing applications deployed in Stratos via 
>>>>>>>>>> the load
>>>>>>>>>> balancers.
>>>>>>>>>>
>>>>>>>>>> Therefore I thought it would be a great value addition to
>>>>>>>>>> implement a new functionality to map domain names to subscriptions as
>>>>>>>>>> described below. Please add your thoughts.
>>>>>>>>>>
>>>>>>>>>> *Functional Design:*
>>>>>>>>>>
>>>>>>>>>> Subscription domains will be managed by Stratos Manager together
>>>>>>>>>> with the subscription information. Once domains are added to a given
>>>>>>>>>> subscription, a new event (SubscriptionDomainsAddedEvent 
>>>>>>>>>> [serviceName,
>>>>>>>>>> tenantId, clusterIds, domains]) will be published to the "tenant" 
>>>>>>>>>> topic and
>>>>>>>>>> it will be received by the load balancer. Load balancer will update 
>>>>>>>>>> its
>>>>>>>>>> internal cluster map with the given information. Similarly when 
>>>>>>>>>> domains are
>>>>>>>>>> removed, a new event (SubscriptionDomainsRemovedEvent [serviceName,
>>>>>>>>>> tenantId, clusterIds, domains]) will be published to the "tenant" 
>>>>>>>>>> topic and
>>>>>>>>>> load balancer will update its cluster map accordingly.
>>>>>>>>>>
>>>>>>>>>> *New REST API methods:*
>>>>>>>>>>
>>>>>>>>>> 1. Add subscription domains:
>>>>>>>>>> Send a POST request to the following URL with tenant credentials
>>>>>>>>>> to add subscription domains:
>>>>>>>>>>
>>>>>>>>>> POST  https://sm-ip:sm-port
>>>>>>>>>> /stratos/admin/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/
>>>>>>>>>> {
>>>>>>>>>>   "domains": [
>>>>>>>>>>      "some.oragnization1.org" ,
>>>>>>>>>>      "some.oragnization2.org" ,
>>>>>>>>>>      "some.oragnization3.org"
>>>>>>>>>>   ]
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> 2. Get subscription domains:
>>>>>>>>>> Send a GET get request to the following URL with tenant
>>>>>>>>>> credentials to get existing subscription domains:
>>>>>>>>>>
>>>>>>>>>> GET  https://sm-ip:sm-port
>>>>>>>>>> /stratos/admin/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/
>>>>>>>>>>
>>>>>>>>>> 3. Remove subscription domains:
>>>>>>>>>> Send a DELETE request to the following URL with tenant
>>>>>>>>>> credentials to remove a given list of domain names:
>>>>>>>>>>
>>>>>>>>>> DELETE  https://sm-ip:sm-port
>>>>>>>>>> /stratos/admin/cartridge/{cartridgeType}/subscription/{subscriptionAlias}/domain/
>>>>>>>>>> {
>>>>>>>>>>   "domains": [
>>>>>>>>>>      "some.oragnization1.org"
>>>>>>>>>>   ]
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Imesh Gunaratne
>>>>>>>>>>
>>>>>>>>>> Technical Lead, WSO2
>>>>>>>>>> Committer & PPMC Member, Apache Stratos
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Best Regards,
>>>>>>>>> Nirmal
>>>>>>>>>
>>>>>>>>> Nirmal Fernando.
>>>>>>>>> PPMC Member & Committer of Apache Stratos,
>>>>>>>>> Senior Software Engineer, WSO2 Inc.
>>>>>>>>>
>>>>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Imesh Gunaratne
>>>>>>>>
>>>>>>>> Technical Lead, WSO2
>>>>>>>> Committer & PPMC Member, Apache Stratos
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best Regards,
>>>>>>> Nirmal
>>>>>>>
>>>>>>> Nirmal Fernando.
>>>>>>> PPMC Member & Committer of Apache Stratos,
>>>>>>> Senior Software Engineer, WSO2 Inc.
>>>>>>>
>>>>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Technical Lead, WSO2
>>>>>> Committer & PPMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Technical Lead, WSO2
>>>>> Committer & PPMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Best Regards,
>>>> Nirmal
>>>>
>>>> Nirmal Fernando.
>>>> PPMC Member & Committer of Apache Stratos,
>>>> Senior Software Engineer, WSO2 Inc.
>>>>
>>>> Blog: http://nirmalfdo.blogspot.com/
>>>>
>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Technical Lead, WSO2
>>> Committer & PPMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Best Regards,
>> Nirmal
>>
>> Nirmal Fernando.
>> PPMC Member & Committer of Apache Stratos,
>> Senior Software Engineer, WSO2 Inc.
>>
>> Blog: http://nirmalfdo.blogspot.com/
>>
>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PPMC Member, Apache Stratos
>



-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/

Reply via email to