[Openstack] Nova API Specification

2012-05-30 Thread Day, Phil
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)

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

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 ?

Is this a known issue ?

Cheers,
Phil




___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] Nova API Specification

2012-05-30 Thread Jorge Williams

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.


___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp