Hi Imesh, Thanks! Even I think this should be the way forward. But the problem I am facing is I am not able to figure out a way to find Service Type using cluster id.
Could you please let me know how we can do this? Thanks and Regards, Swapnil On Mon, Aug 10, 2015 at 3:56 AM, Imesh Gunaratne <im...@apache.org> wrote: > Hi Swapnil, > > We need to think out of the box here, add a new field to the > DomainMappingBean to send the Cluster ID from the client. Users can either > use the Alias or Cluster ID depending on the API method they use. > > In the API method implementation use the Cluster ID to find the Service > Type and invoke the above service method. > > Thanks > > On Mon, Aug 10, 2015 at 12:03 AM, Swapnil Patil <swapnil.r...@gmail.com> > wrote: > >> Hi Imesh, >> >> Sorry, I am not sure I got you. Just to reiterate what I want to say. >> >> In convertDomainMappingBeanToStubDomainMapping() method, >> DomainMappingBean is used to fill two fields domain name and context path >> of DomainMapping object. >> >> Now to execute following statements. >> >> domainMapping.setServiceName(clusterDataHolder.getServiceType()); >> >> domainMapping.setClusterId(clusterDataHolder.getClusterId()); >> >> clusterDataHolder is needed which can only be retrieved using cluster >> alias. But alias will not be available in extension. >> >> So I just wanted to check if we can pass both cluster id and service type >> (But not cluster alias) as a part of JSON which will be a part of >> DomainMappingBean. >> Hence we do not need clusterDataHolder object in this case (so no need of >> cluster alias). >> >> Thanks and Regards, >> Swapnil >> >> >> On Sun, Aug 9, 2015 at 5:43 PM, Imesh Gunaratne <im...@apache.org> wrote: >> >>> I do not see any problems in implementing this. Refer following: >>> >>> >>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java#L2597 >>> >>> DomainMapping domainMapping = >>> ObjectConverter.convertDomainMappingBeanToStubDomainMapping( >>> domainMappingBean); >>> domainMapping.setApplicationId(applicationId); >>> domainMapping.setTenantId(tenantId); >>> >>> domainMapping.setServiceName(clusterDataHolder.getServiceType()); >>> >>> domainMapping.setClusterId(clusterDataHolder.getClusterId()); >>> serviceClient.addDomainMapping(domainMapping); >>> >>> On Sun, Aug 9, 2015 at 8:53 PM, Swapnil Patil <swapnil.r...@gmail.com> >>> wrote: >>> >>>> Hi All, >>>> >>>> I need to add a REST method to add domain mappings using cluster id. >>>> Currently the request needs a JSON object with cartridge alias, domain name >>>> and context path. >>>> >>>> But I need to add a REST method which support adding domain mapping >>>> using cluster id instead of alias. >>>> >>>> Currently alias is used to find out cluster data and in turn service >>>> type and cluster id out of that cluster data. >>>> >>>> But the cluster data cannot be found using cluster id. Hence we cannot >>>> find the service type. >>>> >>>> So I need to follow either of the following ways. >>>> >>>> 1. Get cluster data from cluster id. I do not have any idea how to do >>>> this. Could someone please let me know if this is possible. >>>> 2. Add both service type and cluster id in the request JSON for adding >>>> domain mappings. >>>> >>>> I hope it is OK if we add a field or more in DomainMappingBean class >>>> but those be optional in JSON request. So we can add domain mapping using >>>> either alias or a combination of cluster id and service type. Could someone >>>> please let me know if this is possible. >>>> >>>> Code references >>>> >>>> 1. StratosApiV41Utils.java - In addApplicationDomainMappings, service >>>> type needs to be set to >>>> org.apache.stratos.manager.service.stub.domain.application.signup.DomainMapping >>>> object. Which we can get by ClusterDataHolder object. >>>> 2. ParentComponent.java - ClusterDataHolder is extracted from >>>> org.apache.stratos.messaging.domain.application.Application object. Which >>>> extends ParentComponent which has getClusterData(alias) method. This uses >>>> aliasToClusterDataMap. There is no clusterIdToClusterDataMap. >>>> >>>> Thanks and Regards, >>>> Swapnil >>>> >>>> On Mon, Jul 27, 2015 at 3:37 AM, Swapnil Patil <swapnil.r...@gmail.com> >>>> wrote: >>>> >>>>> Oh Okay. Sorry I missed this suggestion during the meeting. I will >>>>> look into this. >>>>> >>>>> Thanks and Regards, >>>>> Swapnil >>>>> >>>>> On Mon, Jul 27, 2015 at 2:59 AM, Imesh Gunaratne <im...@apache.org> >>>>> wrote: >>>>> >>>>>> As we discussed in the last meeting, may be you could add a new API >>>>>> method to use the cluster id instead of the alias. >>>>>> >>>>>> On Sun, Jul 26, 2015 at 10:51 PM, Swapnil Patil < >>>>>> swapnil.r...@gmail.com> wrote: >>>>>> >>>>>>> Thanks Ashan! >>>>>>> >>>>>>> But unfortunately I don't have access to application id. So this >>>>>>> method will not be useful for me. >>>>>>> >>>>>>> Thanks and Regards, >>>>>>> Swapnil >>>>>>> >>>>>>> On Sun, Jul 26, 2015 at 10:40 AM, Ashan Dhananjaya < >>>>>>> dhananjay...@gmail.com> wrote: >>>>>>> >>>>>>>> Hi Swapnil, >>>>>>>> >>>>>>>> You can get the cluster details using this api call. >>>>>>>> >>>>>>>> curl -k -u admin:admin >>>>>>>> https://localhost:9443/api/v4.1/applications/{applicationId >>>>>>>> }/runtime/ >>>>>>>> curl -k -u admin:admin >>>>>>>> https://localhost:9443/api/v4.1/applications/tomcat-single-signon/runtime/ >>>>>>>> >>>>>>>> I hope this may help. >>>>>>>> >>>>>>>> Thank You! >>>>>>>> Best Regards, >>>>>>>> Ashan >>>>>>>> >>>>>>>> On Sun, Jul 26, 2015 at 3:45 PM, Swapnil Patil < >>>>>>>> swapnil.r...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hi All, >>>>>>>>> >>>>>>>>> I want to add domain mappings to a cluster as a part of AWS load >>>>>>>>> balancer extension functionality. >>>>>>>>> >>>>>>>>> For that I went through [1]. But I have a couple of doubts. >>>>>>>>> >>>>>>>>> 1. In the request, I need to specify cartridge alias. But I am not >>>>>>>>> able to find a way to get the alias of a cluster using Service or >>>>>>>>> Cluster >>>>>>>>> objects of org.apache.stratos.load.balancer.common.domain. Is there >>>>>>>>> any way >>>>>>>>> to find out alias of a cluster? >>>>>>>>> 2. What does a context path mean? >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> https://cwiki.apache.org/confluence/display/STRATOS/4.1.0+Adding+Domain+Mappings+via+REST+API >>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks and Regards, >>>>>>>>> Swapnil >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Imesh Gunaratne >>>>>> >>>>>> Senior Technical Lead, WSO2 >>>>>> Committer & PMC Member, Apache Stratos >>>>>> >>>>> >>>>> >>>> >>> >>> >>> -- >>> Imesh Gunaratne >>> >>> Senior Technical Lead, WSO2 >>> Committer & PMC Member, Apache Stratos >>> >> >> > > > -- > Imesh Gunaratne > > Senior Technical Lead, WSO2 > Committer & PMC Member, Apache Stratos >