[Openstack] Nova API Specification

Jorge Williams jorge.williams at rackspace.com
Wed May 30 18:46:30 UTC 2012


On May 30, 2012, at 8:33 AM, Day, Phil wrote:

Hi Folks,

I was looking for the full definition of the API requests, and I’m a tad confused by what I find here:

http://api.openstack.org/

Specifically for Server Create there is both and “Server – Create” and “Server – Extended Create”, although as far as I can see the “extended create” isn’t actually an extension as such (the additional parameters are supported in the core servers module).

Also there seem to be a number of parameter values that aren’t specified in either interface entry, such as:

min_count
max_count
networks
key_name

So is the API document intended to be:

-          A formal specification of the Interface
-          A set of examples  (but if you want the details you need to read the code)


You should also look at:

http://docs.openstack.org/api/


Are there plans to define the validation schematics of interface parameters ?


There are WADL and XML Schemas for the core here:

https://github.com/openstack/compute-api/blob/master/openstack-compute-api-2/src/os-compute-2.wadl

and here:

https://github.com/openstack/compute-api/tree/master/openstack-compute-api-2/src/xsd

nothing to validate the JSON...yet


I have another specific question on what seems to be an inconsistency between the XML and JSON output of get server details:

The XML response defines the names of networks as values within the <addresses> section:

<addresses>
        <network id="public">
            <ip version="4" addr="67.23.10.132"/>

But in the JSON response it looks as if the network name is a structural element of the response:
"addresses":  {
            "public" : [
                {
                    "version": 4,
                    "addr": "67.23.10.132"
                },

i.e. depending on the value of the “label” field in the networks table of the nova database the structure of the JSON response seems to change (I may not be expressing that very well, my point is that “addresses” is fixed by the API definition, but “public” is defined per implementation ?



Addresses is fixed in both the XML and JSON.  public is implementation specific in both as well.


-jOrGe W.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20120530/385bd0a6/attachment.html>


More information about the Openstack mailing list