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 <nirmal070...@gmail.com>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 <im...@apache.org> 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 
>> <nirmal070...@gmail.com>wrote:
>>
>>> Hi Imesh,
>>>
>>> Are you persisting these domain mappings in the topology?
>>>
>>>
>>> On Sun, May 4, 2014 at 10:48 PM, Imesh Gunaratne <im...@apache.org>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 <im...@apache.org>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 <
>>>>> nirmal070...@gmail.com> 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 <im...@apache.org>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 <
>>>>>>> nirmal070...@gmail.com> 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 
>>>>>>>> <im...@apache.org>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

Reply via email to