incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jessica Wang <Jessica.W...@citrix.com>
Subject RE: Should we have separate "Count" API?
Date Tue, 06 Nov 2012 00:21:15 GMT
http://localhost:8080/client/api?command=listVirtualMachines&response=json&sessionkey=U%2Fu1EoHfSDXWu0o9boFvmBCoY%2Bc%3D&listAll=true&page=1&pagesize=0&_=1352161157965
{ "listvirtualmachinesresponse" : { } }


http://localhost:8080/client/api?command=listVirtualMachines&response=json&sessionkey=U%2Fu1EoHfSDXWu0o9boFvmBCoY%2Bc%3D&listAll=true&page=1&pagesize=1&_=1352161157965
{
    "listvirtualmachinesresponse": {
        "count": 3,
        "virtualmachine": [
            {
                "id": "64134e32-e2bb-4218-b41c-49e46c9bf6c0",
                "name": "rootAdmin-VM1",
                "displayname": "rootAdmin-VM1",
                "account": "admin",
                "domainid": "6f3f7ed7-4b79-4eb2-81d9-5ec59c17ed29",
                "domain": "ROOT",
                "created": "2012-10-30T10:44:56-0700",
                "state": "Running",
                "haenable": false,
                "zoneid": "eeab8e27-5009-4a91-863b-505a0ef3ebcf",
                "zonename": "jw-adv",
                "hostid": "d7484af2-941e-417f-82c1-4cc29ff1c7d8",
                "hostname": "xs-jessica",
                "templateid": "ea22fcd7-d0a0-4c55-b85c-2b6404f1236d",
                "templatename": "CentOS 5.6(64-bit) no GUI (XenServer)",
                "templatedisplaytext": "CentOS 5.6(64-bit) no GUI (XenServer)",
                "passwordenabled": false,
                "serviceofferingid": "49e8c643-4598-4fb0-a7b7-a9a5b4a25ede",
                "serviceofferingname": "Small Instance",
                "cpunumber": 1,
                "cpuspeed": 500,
                "memory": 512,
                "cpuused": "0.13%",
                "networkkbsread": 24,
                "networkkbswrite": 6,
                "guestosid": "f50279e1-035b-4e5f-af5f-23bbed2220d2",
                "rootdeviceid": 0,
                "rootdevicetype": "NetworkFilesystem",
                "securitygroup": [],
                "nic": [
                    {
                        "id": "43441330-db99-4444-8d9f-0519999de283",
                        "networkid": "725dc10e-4a8d-414e-94e5-9b3022050a27",
                        "netmask": "255.255.255.0",
                        "gateway": "10.1.1.1",
                        "ipaddress": "10.1.1.187",
                        "isolationuri": "vlan://1028",
                        "broadcasturi": "vlan://1028",
                        "traffictype": "Guest",
                        "type": "Isolated",
                        "isdefault": true,
                        "macaddress": "02:00:7b:32:00:01"
                    }
                ],
                "hypervisor": "XenServer",
                "publicipid": "22c945f5-da47-42d8-bb40-2184369227d9",
                "publicip": "10.223.67.8",
                "instancename": "i-2-3-TEST",
                "tags": []
            }
        ]
    }
}



-----Original Message-----
From: Jessica Wang [mailto:Jessica.Wang@citrix.com] 
Sent: Monday, November 05, 2012 4:18 PM
To: cloudstack-dev@incubator.apache.org; Chiradeep Vittal; Alena Prokharchyk
Cc: Min Chen
Subject: RE: Should we have separate "Count" API?

Alena,

pagesize=0 doesn't work.
pagesize=0 doesn't return count property.

UI currently uses pagesize=1 as a workaround.

Jessica

-----Original Message-----
From: Alena Prokharchyk [mailto:Alena.Prokharchyk@citrix.com] 
Sent: Monday, November 05, 2012 4:16 PM
To: Chiradeep Vittal; CloudStack DeveloperList
Subject: Re: Should we have separate "Count" API?

Good idea. 

As a workaround for now, you can call
listVms&page=1&pageSize=0&state=Running.

Zero objects will be returned, but "count" will be present in the response
showing how many running vms you have.

-Alena.

On 11/5/12 4:12 PM, "Chiradeep Vittal" <Chiradeep.Vittal@citrix.com> wrote:

>I like the "countOnly" idea. If it were a proper REST API, it would be
>GET /vm/count?state=Running
>And
>GET /vm?state=Running
>
>On 11/5/12 4:03 PM, "Min Chen" <min.chen@citrix.com> wrote:
>
>>Thanks Alena. Maybe we should support a query parameter "countOnly" or
>>something for count only case to avoid issuing extra sql queries.
>>
>>-min
>>
>>From: Alena Prokharchyk
>><Alena.Prokharchyk@citrix.com<mailto:Alena.Prokharchyk@citrix.com>>
>>Date: Monday, November 5, 2012 3:43 PM
>>To: 
>>"cloudstack-dev@incubator.apache.org<mailto:cloudstack-dev@incubator.apac
>>h
>>e.org>" 
>><cloudstack-dev@incubator.apache.org<mailto:cloudstack-dev@incubator.apac
>>h
>>e.org>>, Min Chen <min.chen@citrix.com<mailto:min.chen@citrix.com>>
>>Subject: Re: Should we have separate "Count" API?
>>
>>Min,
>>
>>We didn't use separate call as well as didn't use resource count table
>>because we "count" field represents the number of DB resources matching
>>the search criteria (ignoring page/pageSize info) specified in the list*
>>api call. For example:
>>
>>listVirtualMachines&state=Running&hostId=1&page=1&pageSize=1
>>
>>In the "count" field we expect to see the only how many vms in Running
>>state, running on hostId=1 exist in the system; not the entire number of
>>vms  in the system that we keep per account in resource_count table.
>>And although only one vm object will be returned (as you requested
>>page=1&pageSize=1), you'll know how many vms in the system satisfy the
>>search criteria.
>>
>>As variation of parameters depends on particular API call, the count has
>>to be returned as a part of list* command response.
>>
>>-Alena.
>>
>>From: Min Chen <min.chen@citrix.com<mailto:min.chen@citrix.com>>
>>Reply-To: 
>>"cloudstack-dev@incubator.apache.org<mailto:cloudstack-dev@incubator.apac
>>h
>>e.org>" 
>><cloudstack-dev@incubator.apache.org<mailto:cloudstack-dev@incubator.apac
>>h
>>e.org>>
>>To: 
>>"cloudstack-dev@incubator.apache.org<mailto:cloudstack-dev@incubator.apac
>>h
>>e.org>" 
>><cloudstack-dev@incubator.apache.org<mailto:cloudstack-dev@incubator.apac
>>h
>>e.org>>
>>Subject: Should we have separate "Count" API?
>>
>>Hi there,
>>
>>In fixing the bug regarding count of a list API today, I cannot help
>>wondering why we cannot have separate "Count" api for such purpose rather
>>than bundling this information with list API, where we basically return
>>some information that some users will just throw away since they only
>>care about count for dashboard purpose. I also noticed that in our DB
>>schema, we actually have a table "resource_count" there, not sure the
>>original rational behind this table. If we can take advantage of this
>>table (and keep the information there up-to-date), we may be able to
>>provide a very efficient way to implement such "Count' apis for most
>>commonly used cases.
>>Any thoughts on this?
>>
>>Thanks
>>-min
>>
>
>



Mime
View raw message