You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by Imesh Gunaratne <im...@apache.org> on 2015/01/08 09:22:43 UTC

[Discuss] Domain Mappings Functionality in 4.1.0 Release

Hi Devs,

Domain mappings functionality was introduced in 4.0.0 release to allow
users to map domain names for their service subscriptions. The result was
that users were able to use domain names for accessing service clusters
without having to use the generated cluster host names.

In 4.0.0 release these domain names were managed against the service
subscriptions made by the tenants. Now in 4.1.0 release we do not have a
concept of subscriptions, rather application signups are used for managing
artifact repository information.

IMO to fix domain mappings functionality in 4.1.0 release we may need to
store domain names against application signups.

*Single-Tenant Applications:*
- An application signup is auto generated for each single-tenant
application by extracting the artifact repository information provided.
- Since there could only be one application signup for a single-tenant
application, users could add domain names for each service cluster by
specifying the application id and the cartridge alias.

*Multi-Tenant Applications:*
- Each tenant could signup for a a multi-tenant application after super
tenant deploys the application.
- Since there could be many application signups for a multi-tenant
application, users need to specify the application id, sign up id and the
cartridge alias for adding domain names for service clusters.
- The signup id can be fetched using the tenant id of the user since there
could only be one application signup for a tenant for a given multi-tenant
application.

Please add your thoughts on this.

Thanks

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Imesh Gunaratne <im...@apache.org>.
To be consistent with the above change, I have also removed application id
from the deployment policy as it is already there in the REST API method
URL:

POST -d {deployment-policy.json} /applications/{applicationId}/deploy

{
    "applicationPolicy": {
        "networkPartition": [
            {
                "id": "network-p1",
                "activeByDefault": "true",
                "partitions": [
                    {
                        "id": "p1",
                        "provider": "mock",
                        "property": [
                            {
                                "name": "region",
                                "value": "default"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "childPolicies": [
        {
            "alias": "tomcat",
            "networkPartition": [
                {
                    "id": "network-p1",
                    "partitionAlgo": "one-after-another",
                    "partitions": [
                        {
                            "id": "p1",
                            "max": 5
                        }
                    ]
                }
            ]
        }
    ]
}

Thanks

On Sun, Jan 11, 2015 at 9:45 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Application id is now removed from the domain mappings JSON:
>
> POST -d {domain-mappings.json} /applications/{applicationId}/domainMappings
>
> {
> "domainMappings": [
> {
> "cartridgeAlias":"tomcat",
> "domainName":"abc.com",
> "contextPath":"/abc/app"
> }
> ]
> }
>
> Similarly application id was removed from the application signup JSON:
>
> POST -d {application-signup.json} /applications/{applicationId}/signups
>
> {
>    "artifactRepositories":[
>       {
>          "alias":"php",
>          "privateRepo":false,
>          "repoUrl":"https://github.com/imesh/stratos-php-applications.git
> ",
>          "repoUsername":"",
>          "repoPassword":""
>       },
>       {
>          "alias":"tomcat",
>          "privateRepo":false,
>          "repoUrl":"https://github.com/imesh/stratos-php-applications.git
> ",
>          "repoUsername":"",
>          "repoPassword":""
>       }
>    ]
> }
>
> Thanks
>
> On Sun, Jan 11, 2015 at 8:59 AM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Yes it is there in the URI, we can remove it from the payload.
>>
>> On Sun, Jan 11, 2015 at 8:45 AM, Nirmal Fernando <ni...@gmail.com>
>> wrote:
>>
>>> Why do we need applicationId in the payload? Isn't it available in the
>>> URI ?
>>>
>>> On Sun, Jan 11, 2015 at 2:15 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> I have now completed implementing REST API methods for domain mappings
>>>> functionality:
>>>>
>>>> POST -d {domain-mappings.json}
>>>> /applications/{applicationId}/domainMappings
>>>> GET /applications/{applicationId}/domainMappings
>>>> DELETE -d {domain-mappings.json}
>>>> /applications/{applicationId}/domainMappings
>>>>
>>>> {
>>>> "applicationId":"single-cartridge-app",
>>>> "domainMappings": [
>>>> {
>>>> "cartridgeAlias":"tomcat",
>>>> "domainName":"abc.com",
>>>> "contextPath":"/abc/app"
>>>> }
>>>> ]
>>>> }
>>>>
>>>> Thanks
>>>>
>>>> On Sat, Jan 10, 2015 at 11:15 AM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> I have now implemented core domain mapping functionality together with
>>>>> application signup events to fix load balancer tenant information model.
>>>>> Changes were pushed to master branch.
>>>>>
>>>>> Next we need to implement new REST API methods to manage domain
>>>>> mappings.
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Thu, Jan 8, 2015 at 4:04 PM, Imesh Gunaratne <im...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Thanks for the quick feedback Lakmal!
>>>>>>
>>>>>> +1 for the suggestions on core domain mapping functionality. I will
>>>>>> incorporate those with this fix. We already have REST API methods for
>>>>>> managing domain mappings, I will update those accordingly with this
>>>>>> modification.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Thu, Jan 8, 2015 at 3:18 PM, Lakmal Warusawithana <lakmal@wso2.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Hi Imesh,
>>>>>>>
>>>>>>> Here is few steps in my mind.
>>>>>>>
>>>>>>>    - Need to expose REST API for domain mapping. It should generic
>>>>>>>    to single and MT applications
>>>>>>>    - Need to have some REST API for getting application structure
>>>>>>>    with relevant aliases for create json payload for both signup and domain
>>>>>>>    mapping.
>>>>>>>    - Tenants can submit domain mapping against service aliases in
>>>>>>>    the application. It should be contained mapping domain, application
>>>>>>>    context.
>>>>>>>
>>>>>>>            Eg: application host = myphp.php.stratos.org/website and
>>>>>>> we need access it by giving abc.com. then
>>>>>>>            mapping domain : abc.com
>>>>>>>            context : website
>>>>>>>
>>>>>>>    - SM can store domain mapping with the tenant info.
>>>>>>>    - Need to have separate topic "domainmapping" which LB need to
>>>>>>>    subscribed. SM should publish domains, cluster, appliactionid, context
>>>>>>>    - SM should implement add domain, remove domain and populate
>>>>>>>    above topic.
>>>>>>>    - LB should filter by application id (only get relevant to the
>>>>>>>    application ids which need to act)
>>>>>>>    - update in-memory LB routing table with domain,cluster,context.
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Devs,
>>>>>>>>
>>>>>>>> Domain mappings functionality was introduced in 4.0.0 release to
>>>>>>>> allow users to map domain names for their service subscriptions. The result
>>>>>>>> was that users were able to use domain names for accessing service clusters
>>>>>>>> without having to use the generated cluster host names.
>>>>>>>>
>>>>>>>> In 4.0.0 release these domain names were managed against the
>>>>>>>> service subscriptions made by the tenants. Now in 4.1.0 release we do not
>>>>>>>> have a concept of subscriptions, rather application signups are used for
>>>>>>>> managing artifact repository information.
>>>>>>>>
>>>>>>>> IMO to fix domain mappings functionality in 4.1.0 release we may
>>>>>>>> need to store domain names against application signups.
>>>>>>>>
>>>>>>>> *Single-Tenant Applications:*
>>>>>>>> - An application signup is auto generated for each single-tenant
>>>>>>>> application by extracting the artifact repository information provided.
>>>>>>>> - Since there could only be one application signup for a
>>>>>>>> single-tenant application, users could add domain names for each service
>>>>>>>> cluster by specifying the application id and the cartridge alias.
>>>>>>>>
>>>>>>>> *Multi-Tenant Applications:*
>>>>>>>> - Each tenant could signup for a a multi-tenant application after
>>>>>>>> super tenant deploys the application.
>>>>>>>> - Since there could be many application signups for a multi-tenant
>>>>>>>> application, users need to specify the application id, sign up id and the
>>>>>>>> cartridge alias for adding domain names for service clusters.
>>>>>>>> - The signup id can be fetched using the tenant id of the user
>>>>>>>> since there could only be one application signup for a tenant for a given
>>>>>>>> multi-tenant application.
>>>>>>>>
>>>>>>>> Please add your thoughts on this.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Lakmal Warusawithana
>>>>>>> Vice President, Apache Stratos
>>>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>>>> Mobile : +94714289692
>>>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Imesh Gunaratne
>>>>>>
>>>>>> Technical Lead, WSO2
>>>>>> Committer & PMC Member, Apache Stratos
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Technical Lead, WSO2
>>>> Committer & PMC 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 & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Imesh Gunaratne <im...@apache.org>.
Application id is now removed from the domain mappings JSON:

POST -d {domain-mappings.json} /applications/{applicationId}/domainMappings

{
"domainMappings": [
{
"cartridgeAlias":"tomcat",
"domainName":"abc.com",
"contextPath":"/abc/app"
}
]
}

Similarly application id was removed from the application signup JSON:

POST -d {application-signup.json} /applications/{applicationId}/signups

{
   "artifactRepositories":[
      {
         "alias":"php",
         "privateRepo":false,
         "repoUrl":"https://github.com/imesh/stratos-php-applications.git",
         "repoUsername":"",
         "repoPassword":""
      },
      {
         "alias":"tomcat",
         "privateRepo":false,
         "repoUrl":"https://github.com/imesh/stratos-php-applications.git",
         "repoUsername":"",
         "repoPassword":""
      }
   ]
}

Thanks

On Sun, Jan 11, 2015 at 8:59 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Yes it is there in the URI, we can remove it from the payload.
>
> On Sun, Jan 11, 2015 at 8:45 AM, Nirmal Fernando <ni...@gmail.com>
> wrote:
>
>> Why do we need applicationId in the payload? Isn't it available in the
>> URI ?
>>
>> On Sun, Jan 11, 2015 at 2:15 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> I have now completed implementing REST API methods for domain mappings
>>> functionality:
>>>
>>> POST -d {domain-mappings.json}
>>> /applications/{applicationId}/domainMappings
>>> GET /applications/{applicationId}/domainMappings
>>> DELETE -d {domain-mappings.json}
>>> /applications/{applicationId}/domainMappings
>>>
>>> {
>>> "applicationId":"single-cartridge-app",
>>> "domainMappings": [
>>> {
>>> "cartridgeAlias":"tomcat",
>>> "domainName":"abc.com",
>>> "contextPath":"/abc/app"
>>> }
>>> ]
>>> }
>>>
>>> Thanks
>>>
>>> On Sat, Jan 10, 2015 at 11:15 AM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> I have now implemented core domain mapping functionality together with
>>>> application signup events to fix load balancer tenant information model.
>>>> Changes were pushed to master branch.
>>>>
>>>> Next we need to implement new REST API methods to manage domain
>>>> mappings.
>>>>
>>>> Thanks
>>>>
>>>> On Thu, Jan 8, 2015 at 4:04 PM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> Thanks for the quick feedback Lakmal!
>>>>>
>>>>> +1 for the suggestions on core domain mapping functionality. I will
>>>>> incorporate those with this fix. We already have REST API methods for
>>>>> managing domain mappings, I will update those accordingly with this
>>>>> modification.
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Thu, Jan 8, 2015 at 3:18 PM, Lakmal Warusawithana <la...@wso2.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Imesh,
>>>>>>
>>>>>> Here is few steps in my mind.
>>>>>>
>>>>>>    - Need to expose REST API for domain mapping. It should generic
>>>>>>    to single and MT applications
>>>>>>    - Need to have some REST API for getting application structure
>>>>>>    with relevant aliases for create json payload for both signup and domain
>>>>>>    mapping.
>>>>>>    - Tenants can submit domain mapping against service aliases in
>>>>>>    the application. It should be contained mapping domain, application
>>>>>>    context.
>>>>>>
>>>>>>            Eg: application host = myphp.php.stratos.org/website and
>>>>>> we need access it by giving abc.com. then
>>>>>>            mapping domain : abc.com
>>>>>>            context : website
>>>>>>
>>>>>>    - SM can store domain mapping with the tenant info.
>>>>>>    - Need to have separate topic "domainmapping" which LB need to
>>>>>>    subscribed. SM should publish domains, cluster, appliactionid, context
>>>>>>    - SM should implement add domain, remove domain and populate
>>>>>>    above topic.
>>>>>>    - LB should filter by application id (only get relevant to the
>>>>>>    application ids which need to act)
>>>>>>    - update in-memory LB routing table with domain,cluster,context.
>>>>>>
>>>>>>
>>>>>> On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Devs,
>>>>>>>
>>>>>>> Domain mappings functionality was introduced in 4.0.0 release to
>>>>>>> allow users to map domain names for their service subscriptions. The result
>>>>>>> was that users were able to use domain names for accessing service clusters
>>>>>>> without having to use the generated cluster host names.
>>>>>>>
>>>>>>> In 4.0.0 release these domain names were managed against the service
>>>>>>> subscriptions made by the tenants. Now in 4.1.0 release we do not have a
>>>>>>> concept of subscriptions, rather application signups are used for managing
>>>>>>> artifact repository information.
>>>>>>>
>>>>>>> IMO to fix domain mappings functionality in 4.1.0 release we may
>>>>>>> need to store domain names against application signups.
>>>>>>>
>>>>>>> *Single-Tenant Applications:*
>>>>>>> - An application signup is auto generated for each single-tenant
>>>>>>> application by extracting the artifact repository information provided.
>>>>>>> - Since there could only be one application signup for a
>>>>>>> single-tenant application, users could add domain names for each service
>>>>>>> cluster by specifying the application id and the cartridge alias.
>>>>>>>
>>>>>>> *Multi-Tenant Applications:*
>>>>>>> - Each tenant could signup for a a multi-tenant application after
>>>>>>> super tenant deploys the application.
>>>>>>> - Since there could be many application signups for a multi-tenant
>>>>>>> application, users need to specify the application id, sign up id and the
>>>>>>> cartridge alias for adding domain names for service clusters.
>>>>>>> - The signup id can be fetched using the tenant id of the user since
>>>>>>> there could only be one application signup for a tenant for a given
>>>>>>> multi-tenant application.
>>>>>>>
>>>>>>> Please add your thoughts on this.
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lakmal Warusawithana
>>>>>> Vice President, Apache Stratos
>>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>>> Mobile : +94714289692
>>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Imesh Gunaratne
>>>>>
>>>>> Technical Lead, WSO2
>>>>> Committer & PMC Member, Apache Stratos
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Technical Lead, WSO2
>>> Committer & PMC 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 & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Imesh Gunaratne <im...@apache.org>.
Yes it is there in the URI, we can remove it from the payload.

On Sun, Jan 11, 2015 at 8:45 AM, Nirmal Fernando <ni...@gmail.com>
wrote:

> Why do we need applicationId in the payload? Isn't it available in the URI
> ?
>
> On Sun, Jan 11, 2015 at 2:15 AM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> I have now completed implementing REST API methods for domain mappings
>> functionality:
>>
>> POST -d {domain-mappings.json}
>> /applications/{applicationId}/domainMappings
>> GET /applications/{applicationId}/domainMappings
>> DELETE -d {domain-mappings.json}
>> /applications/{applicationId}/domainMappings
>>
>> {
>> "applicationId":"single-cartridge-app",
>> "domainMappings": [
>> {
>> "cartridgeAlias":"tomcat",
>> "domainName":"abc.com",
>> "contextPath":"/abc/app"
>> }
>> ]
>> }
>>
>> Thanks
>>
>> On Sat, Jan 10, 2015 at 11:15 AM, Imesh Gunaratne <im...@apache.org>
>> wrote:
>>
>>> I have now implemented core domain mapping functionality together with
>>> application signup events to fix load balancer tenant information model.
>>> Changes were pushed to master branch.
>>>
>>> Next we need to implement new REST API methods to manage domain mappings.
>>>
>>> Thanks
>>>
>>> On Thu, Jan 8, 2015 at 4:04 PM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> Thanks for the quick feedback Lakmal!
>>>>
>>>> +1 for the suggestions on core domain mapping functionality. I will
>>>> incorporate those with this fix. We already have REST API methods for
>>>> managing domain mappings, I will update those accordingly with this
>>>> modification.
>>>>
>>>> Thanks
>>>>
>>>> On Thu, Jan 8, 2015 at 3:18 PM, Lakmal Warusawithana <la...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi Imesh,
>>>>>
>>>>> Here is few steps in my mind.
>>>>>
>>>>>    - Need to expose REST API for domain mapping. It should generic to
>>>>>    single and MT applications
>>>>>    - Need to have some REST API for getting application structure
>>>>>    with relevant aliases for create json payload for both signup and domain
>>>>>    mapping.
>>>>>    - Tenants can submit domain mapping against service aliases in the
>>>>>    application. It should be contained mapping domain, application context.
>>>>>
>>>>>            Eg: application host = myphp.php.stratos.org/website and
>>>>> we need access it by giving abc.com. then
>>>>>            mapping domain : abc.com
>>>>>            context : website
>>>>>
>>>>>    - SM can store domain mapping with the tenant info.
>>>>>    - Need to have separate topic "domainmapping" which LB need to
>>>>>    subscribed. SM should publish domains, cluster, appliactionid, context
>>>>>    - SM should implement add domain, remove domain and populate above
>>>>>    topic.
>>>>>    - LB should filter by application id (only get relevant to the
>>>>>    application ids which need to act)
>>>>>    - update in-memory LB routing table with domain,cluster,context.
>>>>>
>>>>>
>>>>> On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Hi Devs,
>>>>>>
>>>>>> Domain mappings functionality was introduced in 4.0.0 release to
>>>>>> allow users to map domain names for their service subscriptions. The result
>>>>>> was that users were able to use domain names for accessing service clusters
>>>>>> without having to use the generated cluster host names.
>>>>>>
>>>>>> In 4.0.0 release these domain names were managed against the service
>>>>>> subscriptions made by the tenants. Now in 4.1.0 release we do not have a
>>>>>> concept of subscriptions, rather application signups are used for managing
>>>>>> artifact repository information.
>>>>>>
>>>>>> IMO to fix domain mappings functionality in 4.1.0 release we may need
>>>>>> to store domain names against application signups.
>>>>>>
>>>>>> *Single-Tenant Applications:*
>>>>>> - An application signup is auto generated for each single-tenant
>>>>>> application by extracting the artifact repository information provided.
>>>>>> - Since there could only be one application signup for a
>>>>>> single-tenant application, users could add domain names for each service
>>>>>> cluster by specifying the application id and the cartridge alias.
>>>>>>
>>>>>> *Multi-Tenant Applications:*
>>>>>> - Each tenant could signup for a a multi-tenant application after
>>>>>> super tenant deploys the application.
>>>>>> - Since there could be many application signups for a multi-tenant
>>>>>> application, users need to specify the application id, sign up id and the
>>>>>> cartridge alias for adding domain names for service clusters.
>>>>>> - The signup id can be fetched using the tenant id of the user since
>>>>>> there could only be one application signup for a tenant for a given
>>>>>> multi-tenant application.
>>>>>>
>>>>>> Please add your thoughts on this.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Lakmal Warusawithana
>>>>> Vice President, Apache Stratos
>>>>> Director - Cloud Architecture; WSO2 Inc.
>>>>> Mobile : +94714289692
>>>>> Blog : http://lakmalsview.blogspot.com/
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Imesh Gunaratne
>>>>
>>>> Technical Lead, WSO2
>>>> Committer & PMC Member, Apache Stratos
>>>>
>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Technical Lead, WSO2
>> Committer & PMC 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 & PMC Member, Apache Stratos

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Nirmal Fernando <ni...@gmail.com>.
Why do we need applicationId in the payload? Isn't it available in the URI ?

On Sun, Jan 11, 2015 at 2:15 AM, Imesh Gunaratne <im...@apache.org> wrote:

> I have now completed implementing REST API methods for domain mappings
> functionality:
>
> POST -d {domain-mappings.json} /applications/{applicationId}/domainMappings
> GET /applications/{applicationId}/domainMappings
> DELETE -d {domain-mappings.json}
> /applications/{applicationId}/domainMappings
>
> {
> "applicationId":"single-cartridge-app",
> "domainMappings": [
> {
> "cartridgeAlias":"tomcat",
> "domainName":"abc.com",
> "contextPath":"/abc/app"
> }
> ]
> }
>
> Thanks
>
> On Sat, Jan 10, 2015 at 11:15 AM, Imesh Gunaratne <im...@apache.org>
> wrote:
>
>> I have now implemented core domain mapping functionality together with
>> application signup events to fix load balancer tenant information model.
>> Changes were pushed to master branch.
>>
>> Next we need to implement new REST API methods to manage domain mappings.
>>
>> Thanks
>>
>> On Thu, Jan 8, 2015 at 4:04 PM, Imesh Gunaratne <im...@apache.org> wrote:
>>
>>> Thanks for the quick feedback Lakmal!
>>>
>>> +1 for the suggestions on core domain mapping functionality. I will
>>> incorporate those with this fix. We already have REST API methods for
>>> managing domain mappings, I will update those accordingly with this
>>> modification.
>>>
>>> Thanks
>>>
>>> On Thu, Jan 8, 2015 at 3:18 PM, Lakmal Warusawithana <la...@wso2.com>
>>> wrote:
>>>
>>>> Hi Imesh,
>>>>
>>>> Here is few steps in my mind.
>>>>
>>>>    - Need to expose REST API for domain mapping. It should generic to
>>>>    single and MT applications
>>>>    - Need to have some REST API for getting application structure with
>>>>    relevant aliases for create json payload for both signup and domain mapping.
>>>>    - Tenants can submit domain mapping against service aliases in the
>>>>    application. It should be contained mapping domain, application context.
>>>>
>>>>            Eg: application host = myphp.php.stratos.org/website and we
>>>> need access it by giving abc.com. then
>>>>            mapping domain : abc.com
>>>>            context : website
>>>>
>>>>    - SM can store domain mapping with the tenant info.
>>>>    - Need to have separate topic "domainmapping" which LB need to
>>>>    subscribed. SM should publish domains, cluster, appliactionid, context
>>>>    - SM should implement add domain, remove domain and populate above
>>>>    topic.
>>>>    - LB should filter by application id (only get relevant to the
>>>>    application ids which need to act)
>>>>    - update in-memory LB routing table with domain,cluster,context.
>>>>
>>>>
>>>> On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org>
>>>> wrote:
>>>>
>>>>> Hi Devs,
>>>>>
>>>>> Domain mappings functionality was introduced in 4.0.0 release to allow
>>>>> users to map domain names for their service subscriptions. The result was
>>>>> that users were able to use domain names for accessing service clusters
>>>>> without having to use the generated cluster host names.
>>>>>
>>>>> In 4.0.0 release these domain names were managed against the service
>>>>> subscriptions made by the tenants. Now in 4.1.0 release we do not have a
>>>>> concept of subscriptions, rather application signups are used for managing
>>>>> artifact repository information.
>>>>>
>>>>> IMO to fix domain mappings functionality in 4.1.0 release we may need
>>>>> to store domain names against application signups.
>>>>>
>>>>> *Single-Tenant Applications:*
>>>>> - An application signup is auto generated for each single-tenant
>>>>> application by extracting the artifact repository information provided.
>>>>> - Since there could only be one application signup for a single-tenant
>>>>> application, users could add domain names for each service cluster by
>>>>> specifying the application id and the cartridge alias.
>>>>>
>>>>> *Multi-Tenant Applications:*
>>>>> - Each tenant could signup for a a multi-tenant application after
>>>>> super tenant deploys the application.
>>>>> - Since there could be many application signups for a multi-tenant
>>>>> application, users need to specify the application id, sign up id and the
>>>>> cartridge alias for adding domain names for service clusters.
>>>>> - The signup id can be fetched using the tenant id of the user since
>>>>> there could only be one application signup for a tenant for a given
>>>>> multi-tenant application.
>>>>>
>>>>> Please add your thoughts on this.
>>>>>
>>>>> Thanks
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lakmal Warusawithana
>>>> Vice President, Apache Stratos
>>>> Director - Cloud Architecture; WSO2 Inc.
>>>> Mobile : +94714289692
>>>> Blog : http://lakmalsview.blogspot.com/
>>>>
>>>>
>>>
>>>
>>> --
>>> Imesh Gunaratne
>>>
>>> Technical Lead, WSO2
>>> Committer & PMC Member, Apache Stratos
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Best Regards,
Nirmal

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

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

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Imesh Gunaratne <im...@apache.org>.
I have now completed implementing REST API methods for domain mappings
functionality:

POST -d {domain-mappings.json} /applications/{applicationId}/domainMappings
GET /applications/{applicationId}/domainMappings
DELETE -d {domain-mappings.json}
/applications/{applicationId}/domainMappings

{
"applicationId":"single-cartridge-app",
"domainMappings": [
{
"cartridgeAlias":"tomcat",
"domainName":"abc.com",
"contextPath":"/abc/app"
}
]
}

Thanks

On Sat, Jan 10, 2015 at 11:15 AM, Imesh Gunaratne <im...@apache.org> wrote:

> I have now implemented core domain mapping functionality together with
> application signup events to fix load balancer tenant information model.
> Changes were pushed to master branch.
>
> Next we need to implement new REST API methods to manage domain mappings.
>
> Thanks
>
> On Thu, Jan 8, 2015 at 4:04 PM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Thanks for the quick feedback Lakmal!
>>
>> +1 for the suggestions on core domain mapping functionality. I will
>> incorporate those with this fix. We already have REST API methods for
>> managing domain mappings, I will update those accordingly with this
>> modification.
>>
>> Thanks
>>
>> On Thu, Jan 8, 2015 at 3:18 PM, Lakmal Warusawithana <la...@wso2.com>
>> wrote:
>>
>>> Hi Imesh,
>>>
>>> Here is few steps in my mind.
>>>
>>>    - Need to expose REST API for domain mapping. It should generic to
>>>    single and MT applications
>>>    - Need to have some REST API for getting application structure with
>>>    relevant aliases for create json payload for both signup and domain mapping.
>>>    - Tenants can submit domain mapping against service aliases in the
>>>    application. It should be contained mapping domain, application context.
>>>
>>>            Eg: application host = myphp.php.stratos.org/website and we
>>> need access it by giving abc.com. then
>>>            mapping domain : abc.com
>>>            context : website
>>>
>>>    - SM can store domain mapping with the tenant info.
>>>    - Need to have separate topic "domainmapping" which LB need to
>>>    subscribed. SM should publish domains, cluster, appliactionid, context
>>>    - SM should implement add domain, remove domain and populate above
>>>    topic.
>>>    - LB should filter by application id (only get relevant to the
>>>    application ids which need to act)
>>>    - update in-memory LB routing table with domain,cluster,context.
>>>
>>>
>>> On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org>
>>> wrote:
>>>
>>>> Hi Devs,
>>>>
>>>> Domain mappings functionality was introduced in 4.0.0 release to allow
>>>> users to map domain names for their service subscriptions. The result was
>>>> that users were able to use domain names for accessing service clusters
>>>> without having to use the generated cluster host names.
>>>>
>>>> In 4.0.0 release these domain names were managed against the service
>>>> subscriptions made by the tenants. Now in 4.1.0 release we do not have a
>>>> concept of subscriptions, rather application signups are used for managing
>>>> artifact repository information.
>>>>
>>>> IMO to fix domain mappings functionality in 4.1.0 release we may need
>>>> to store domain names against application signups.
>>>>
>>>> *Single-Tenant Applications:*
>>>> - An application signup is auto generated for each single-tenant
>>>> application by extracting the artifact repository information provided.
>>>> - Since there could only be one application signup for a single-tenant
>>>> application, users could add domain names for each service cluster by
>>>> specifying the application id and the cartridge alias.
>>>>
>>>> *Multi-Tenant Applications:*
>>>> - Each tenant could signup for a a multi-tenant application after super
>>>> tenant deploys the application.
>>>> - Since there could be many application signups for a multi-tenant
>>>> application, users need to specify the application id, sign up id and the
>>>> cartridge alias for adding domain names for service clusters.
>>>> - The signup id can be fetched using the tenant id of the user since
>>>> there could only be one application signup for a tenant for a given
>>>> multi-tenant application.
>>>>
>>>> Please add your thoughts on this.
>>>>
>>>> Thanks
>>>>
>>>
>>>
>>>
>>> --
>>> Lakmal Warusawithana
>>> Vice President, Apache Stratos
>>> Director - Cloud Architecture; WSO2 Inc.
>>> Mobile : +94714289692
>>> Blog : http://lakmalsview.blogspot.com/
>>>
>>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Imesh Gunaratne <im...@apache.org>.
I have now implemented core domain mapping functionality together with
application signup events to fix load balancer tenant information model.
Changes were pushed to master branch.

Next we need to implement new REST API methods to manage domain mappings.

Thanks

On Thu, Jan 8, 2015 at 4:04 PM, Imesh Gunaratne <im...@apache.org> wrote:

> Thanks for the quick feedback Lakmal!
>
> +1 for the suggestions on core domain mapping functionality. I will
> incorporate those with this fix. We already have REST API methods for
> managing domain mappings, I will update those accordingly with this
> modification.
>
> Thanks
>
> On Thu, Jan 8, 2015 at 3:18 PM, Lakmal Warusawithana <la...@wso2.com>
> wrote:
>
>> Hi Imesh,
>>
>> Here is few steps in my mind.
>>
>>    - Need to expose REST API for domain mapping. It should generic to
>>    single and MT applications
>>    - Need to have some REST API for getting application structure with
>>    relevant aliases for create json payload for both signup and domain mapping.
>>    - Tenants can submit domain mapping against service aliases in the
>>    application. It should be contained mapping domain, application context.
>>
>>            Eg: application host = myphp.php.stratos.org/website and we
>> need access it by giving abc.com. then
>>            mapping domain : abc.com
>>            context : website
>>
>>    - SM can store domain mapping with the tenant info.
>>    - Need to have separate topic "domainmapping" which LB need to
>>    subscribed. SM should publish domains, cluster, appliactionid, context
>>    - SM should implement add domain, remove domain and populate above
>>    topic.
>>    - LB should filter by application id (only get relevant to the
>>    application ids which need to act)
>>    - update in-memory LB routing table with domain,cluster,context.
>>
>>
>> On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org> wrote:
>>
>>> Hi Devs,
>>>
>>> Domain mappings functionality was introduced in 4.0.0 release to allow
>>> users to map domain names for their service subscriptions. The result was
>>> that users were able to use domain names for accessing service clusters
>>> without having to use the generated cluster host names.
>>>
>>> In 4.0.0 release these domain names were managed against the service
>>> subscriptions made by the tenants. Now in 4.1.0 release we do not have a
>>> concept of subscriptions, rather application signups are used for managing
>>> artifact repository information.
>>>
>>> IMO to fix domain mappings functionality in 4.1.0 release we may need to
>>> store domain names against application signups.
>>>
>>> *Single-Tenant Applications:*
>>> - An application signup is auto generated for each single-tenant
>>> application by extracting the artifact repository information provided.
>>> - Since there could only be one application signup for a single-tenant
>>> application, users could add domain names for each service cluster by
>>> specifying the application id and the cartridge alias.
>>>
>>> *Multi-Tenant Applications:*
>>> - Each tenant could signup for a a multi-tenant application after super
>>> tenant deploys the application.
>>> - Since there could be many application signups for a multi-tenant
>>> application, users need to specify the application id, sign up id and the
>>> cartridge alias for adding domain names for service clusters.
>>> - The signup id can be fetched using the tenant id of the user since
>>> there could only be one application signup for a tenant for a given
>>> multi-tenant application.
>>>
>>> Please add your thoughts on this.
>>>
>>> Thanks
>>>
>>
>>
>>
>> --
>> Lakmal Warusawithana
>> Vice President, Apache Stratos
>> Director - Cloud Architecture; WSO2 Inc.
>> Mobile : +94714289692
>> Blog : http://lakmalsview.blogspot.com/
>>
>>
>
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>



-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Imesh Gunaratne <im...@apache.org>.
Thanks for the quick feedback Lakmal!

+1 for the suggestions on core domain mapping functionality. I will
incorporate those with this fix. We already have REST API methods for
managing domain mappings, I will update those accordingly with this
modification.

Thanks

On Thu, Jan 8, 2015 at 3:18 PM, Lakmal Warusawithana <la...@wso2.com>
wrote:

> Hi Imesh,
>
> Here is few steps in my mind.
>
>    - Need to expose REST API for domain mapping. It should generic to
>    single and MT applications
>    - Need to have some REST API for getting application structure with
>    relevant aliases for create json payload for both signup and domain mapping.
>    - Tenants can submit domain mapping against service aliases in the
>    application. It should be contained mapping domain, application context.
>
>            Eg: application host = myphp.php.stratos.org/website and we
> need access it by giving abc.com. then
>            mapping domain : abc.com
>            context : website
>
>    - SM can store domain mapping with the tenant info.
>    - Need to have separate topic "domainmapping" which LB need to
>    subscribed. SM should publish domains, cluster, appliactionid, context
>    - SM should implement add domain, remove domain and populate above
>    topic.
>    - LB should filter by application id (only get relevant to the
>    application ids which need to act)
>    - update in-memory LB routing table with domain,cluster,context.
>
>
> On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org> wrote:
>
>> Hi Devs,
>>
>> Domain mappings functionality was introduced in 4.0.0 release to allow
>> users to map domain names for their service subscriptions. The result was
>> that users were able to use domain names for accessing service clusters
>> without having to use the generated cluster host names.
>>
>> In 4.0.0 release these domain names were managed against the service
>> subscriptions made by the tenants. Now in 4.1.0 release we do not have a
>> concept of subscriptions, rather application signups are used for managing
>> artifact repository information.
>>
>> IMO to fix domain mappings functionality in 4.1.0 release we may need to
>> store domain names against application signups.
>>
>> *Single-Tenant Applications:*
>> - An application signup is auto generated for each single-tenant
>> application by extracting the artifact repository information provided.
>> - Since there could only be one application signup for a single-tenant
>> application, users could add domain names for each service cluster by
>> specifying the application id and the cartridge alias.
>>
>> *Multi-Tenant Applications:*
>> - Each tenant could signup for a a multi-tenant application after super
>> tenant deploys the application.
>> - Since there could be many application signups for a multi-tenant
>> application, users need to specify the application id, sign up id and the
>> cartridge alias for adding domain names for service clusters.
>> - The signup id can be fetched using the tenant id of the user since
>> there could only be one application signup for a tenant for a given
>> multi-tenant application.
>>
>> Please add your thoughts on this.
>>
>> Thanks
>>
>
>
>
> --
> Lakmal Warusawithana
> Vice President, Apache Stratos
> Director - Cloud Architecture; WSO2 Inc.
> Mobile : +94714289692
> Blog : http://lakmalsview.blogspot.com/
>
>


-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Re: [Discuss] Domain Mappings Functionality in 4.1.0 Release

Posted by Lakmal Warusawithana <la...@wso2.com>.
Hi Imesh,

Here is few steps in my mind.

   - Need to expose REST API for domain mapping. It should generic to
   single and MT applications
   - Need to have some REST API for getting application structure with
   relevant aliases for create json payload for both signup and domain mapping.
   - Tenants can submit domain mapping against service aliases in the
   application. It should be contained mapping domain, application context.

           Eg: application host = myphp.php.stratos.org/website and we need
access it by giving abc.com. then
           mapping domain : abc.com
           context : website

   - SM can store domain mapping with the tenant info.
   - Need to have separate topic "domainmapping" which LB need to
   subscribed. SM should publish domains, cluster, appliactionid, context
   - SM should implement add domain, remove domain and populate above topic.
   - LB should filter by application id (only get relevant to the
   application ids which need to act)
   - update in-memory LB routing table with domain,cluster,context.


On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi Devs,
>
> Domain mappings functionality was introduced in 4.0.0 release to allow
> users to map domain names for their service subscriptions. The result was
> that users were able to use domain names for accessing service clusters
> without having to use the generated cluster host names.
>
> In 4.0.0 release these domain names were managed against the service
> subscriptions made by the tenants. Now in 4.1.0 release we do not have a
> concept of subscriptions, rather application signups are used for managing
> artifact repository information.
>
> IMO to fix domain mappings functionality in 4.1.0 release we may need to
> store domain names against application signups.
>
> *Single-Tenant Applications:*
> - An application signup is auto generated for each single-tenant
> application by extracting the artifact repository information provided.
> - Since there could only be one application signup for a single-tenant
> application, users could add domain names for each service cluster by
> specifying the application id and the cartridge alias.
>
> *Multi-Tenant Applications:*
> - Each tenant could signup for a a multi-tenant application after super
> tenant deploys the application.
> - Since there could be many application signups for a multi-tenant
> application, users need to specify the application id, sign up id and the
> cartridge alias for adding domain names for service clusters.
> - The signup id can be fetched using the tenant id of the user since there
> could only be one application signup for a tenant for a given multi-tenant
> application.
>
> Please add your thoughts on this.
>
> Thanks
>



-- 
Lakmal Warusawithana
Vice President, Apache Stratos
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/