This issue is resolved from my POV. Thanks! From: Imesh Gunaratne [mailto:im...@apache.org] Sent: Thursday, March 19, 2015 1:29 PM To: dev Subject: Re: No ability to list instances in Stratos 4.1.0?
Hi Udara, A good point! Yes we have included all the elements in the application hierarchy in the application runtime API method response. However I still believe it would be better to have a separate API resource to query the clusters. Thanks On Thu, Mar 19, 2015 at 4:46 PM, Udara Liyanage <ud...@wso2.com<mailto:ud...@wso2.com>> wrote: Hi Imesh, I just tried Application/runtime . There all the members are listed. curl -X GET -H "Content-Type: application/json" -k -u admin:admin https://localhost:9443/api/applications/single-cartridge-app/runtime | python -m json.tool % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2181 0 2181 0 0 38082 0 --:--:-- --:--:-- --:--:-- 38263 { "applicationInstances": [ { "applicationId": "single-cartridge-app", "clusterInstances": [ { "alias": "my-php", "clusterId": "single-cartridge-app.my-php.php.domain", "hostNames": [ "single-cartridge-app.my-php.php.stratos.org<http://single-cartridge-app.my-php.php.stratos.org>" ], "instanceId": "single-cartridge-app-1", "member": [ { "clusterId": "single-cartridge-app.my-php.php.domain", "defaultPrivateIP": "10.0.0.4", "defaultPublicIP": "20.0.0.3", "memberId": "single-cartridge-app.my-php.php.domain949d1ac4-fd59-4e08-95a7-34702ea0aa18", "memberPrivateIPs": "10.0.0.4", "memberPublicIPs": "20.0.0.3", "networkPartitionId": "network-partition-1", "partitionId": "partition-1", "ports": [ { "port": 22, "protocol": "tcp", "proxyPort": 8222 }, { "port": 80, "protocol": "http", "proxyPort": 8280 } ], "property": [ { "name": "PRIMARY", "value": false }, { "name": "MIN_COUNT", "value": 3 } ], "serviceName": "php", "status": "Active" }, { "clusterId": "single-cartridge-app.my-php.php.domain", "defaultPrivateIP": "10.0.0.5", "defaultPublicIP": "20.0.0.4", "memberId": "single-cartridge-app.my-php.php.domain7f72f5b2-92df-4cb7-afbe-4c163b586d82", "memberPrivateIPs": "10.0.0.5", "memberPublicIPs": "20.0.0.4", "networkPartitionId": "network-partition-1", "partitionId": "partition-1", "ports": [ { "port": 22, "protocol": "tcp", "proxyPort": 8222 }, { "port": 80, "protocol": "http", "proxyPort": 8280 } ], "property": [ { "name": "PRIMARY", "value": false }, { "name": "MIN_COUNT", "value": 3 } ], "serviceName": "php", "status": "Active" }, { "clusterId": "single-cartridge-app.my-php.php.domain", "defaultPrivateIP": "10.0.0.6", "defaultPublicIP": "20.0.0.5", "memberId": "single-cartridge-app.my-php.php.domain1406197c-4dd7-47b0-9317-44589ee791eb", "memberPrivateIPs": "10.0.0.6", "memberPublicIPs": "20.0.0.5", "networkPartitionId": "network-partition-1", "partitionId": "partition-1", "ports": [ { "port": 22, "protocol": "tcp", "proxyPort": 8222 }, { "port": 80, "protocol": "http", "proxyPort": 8280 } ], "property": [ { "name": "PRIMARY", "value": false }, { "name": "MIN_COUNT", "value": 3 } ], "serviceName": "php", "status": "Active" } ], "parentInstanceId": "single-cartridge-app-1", "serviceName": "php", "status": "Active", "tenantRange": "*" } ], "instanceId": "single-cartridge-app-1", "status": "Active" } ], "id": "single-cartridge-app", "status": "Active", "tenantAdminUsername": "admin", "tenantDomain": "carbon.super" } On Thu, Mar 19, 2015 at 12:20 AM, Imesh Gunaratne <im...@apache.org<mailto:im...@apache.org>> wrote: Hi Udara, You have a point! However IMO cluster is a global level entity that's why I did not want to use the application id to read a cluster. Even though the clusters are created per application, in the topology clusters are listed at Topology -> Services -> Clusters. Therefore I would prefer to have cluster resource URL as /api/clusters. Thanks On Wed, Mar 18, 2015 at 10:51 AM, Udara Liyanage <ud...@wso2.com<mailto:ud...@wso2.com>> wrote: Hi Imesh, Should n't we add the application id too to the API? . This is because cluster id is local to the application, even cluster id is unique it would have to traverse all the applications to fetch the cluster id Modified API GET application/{applicationId}/clusters/{clusterId} On Tue, Mar 17, 2015 at 11:07 AM, Imesh Gunaratne <im...@apache.org<mailto:im...@apache.org>> wrote: Hi Isuru, I think we already have two api methods to get the application details: [1] GET /applications/{applicationId} [2] GET /applications/{applicationId}/runtime The second API method would give us the cluster Ids of the given application. Then the user could invoke a new API method to get the cluster details: [3] GET /clusters/{clusterId} Thanks On Tue, Mar 17, 2015 at 10:12 AM, Isuru Haththotuwa <isu...@apache.org<mailto:isu...@apache.org>> wrote: Hi, Since Stratos 4.1 is based on the Application model, shall we provide an API to list the details (instances) of an application? Or do we still need to list individual cluster instances? On Tue, Mar 17, 2015 at 9:59 AM, Imesh Gunaratne <im...@apache.org<mailto:im...@apache.org>> wrote: Hi Shaheed, Thanks for pointing this! Yes in 4.1.0 API we do not have a method to query instances of a cluster. I think we need to add it. @Devs: Anyone would like to contribute to this? Thanks On Tue, Mar 17, 2015 at 4:59 AM, Shaheedur Haque (shahhaqu) <shahh...@cisco.com<mailto:shahh...@cisco.com>> wrote: Hi, In Stratos 4.0.0, I could get a list of instances running against a subscription with a REST call like this: 'GET', '/stratos/admin/cluster/clusterId/{}'.format(cluster) However, in 4.1.0, the commands describe-application and describe application-runtime equate to: 'GET', 'applications/{}'.format(subscription) # # The reply looks like this: # # {u'status': u'Deployed', u'alias': u'cartridge-proxy', u'multiTenant': False, u'applicationId': u'cartridge-proxy', u'components': {...}} # And 'GET', 'applications/{}/runtime'.format(application) # # The reply looks like this: # # {u'status': u'Active', u'multiTenant': False} # Is there some other way to list the instances? Thanks, Shaheed -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos -- Thanks and Regards, Isuru H. +94 716 358 048<tel:%2B94%20716%20358%20048> -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos -- Udara Liyanage Software Engineer WSO2, Inc.: http://wso2.com<http://wso2.com/> lean. enterprise. middleware web: http://udaraliyanage.wordpress.com phone: +94 71 443 6897 -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos -- Udara Liyanage Software Engineer WSO2, Inc.: http://wso2.com<http://wso2.com/> lean. enterprise. middleware web: http://udaraliyanage.wordpress.com phone: +94 71 443 6897 -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos