Hey Sandy,

So the API version works in the sense that if you hit /v1.0 you'll get the 
older v1.0 style API. Likewise for /v1.1.

The big things still in flux as far as v1.1 support in nova:

-making the JSON and XML serialization match the spec. On the JSON side there 
are some "collections" changes that need making. On the XML side I'm not sure 
we always adhere to the SPEC.

-ID and HREFs (the ability to specify a custom glance image HREF when creating 
an instance). The implementation for this in cactus just chopped of the image 
ID from the URL and used that as the image_id for the image service.

---

When updating a v1.0 binding to v1.1 you'll have to look at changes in 
metadata, new image metadata support, and some things moved around (change 
password moved from an update to an action), extensions, etc.

---

I wouldn't be opposed to maintaining bindings outside of the project. Like 
Soren points out it does keep us honest. The downside of this is the bindings 
probably won't have any niche features and may lag new features a bit. I see 
external bindings as being more end user friendly and as such you may have a 
hard time getting features we add for administrative API's implemented (zones, 
users, etc.).

In Ruby land...

We have started bumping the Openstack Compute Ruby bindings to support v1.1 
features. There is a branch in the works here: 
lp:~ironcamel/ruby-openstack-compute/v11 which takes care of most of the 
metadata changes, ID's and HREFs, formats, etc. We weren't planning on pushing 
the new Ruby gem with v1.1 support until the serialization stuff finally 
settles down.

Hope this helps.

Dan

-----Original Message-----
From: "Sandy Walsh" <sandy.wa...@rackspace.com>
Sent: Wednesday, May 18, 2011 8:20am
To: "Soren Hansen" <so...@linux2go.dk>, "openstack@lists.launchpad.net" 
<openstack@lists.launchpad.net>
Subject: Re: [Openstack] python-novaclient vs. python-openstack.compute

Whoops, I could be mistaken on the "new 1.1 features" part of that email. 
Versioning is in a pending pull request.

I'd like to hear from the Titan team on their plans ... especially around 1.1 
support.

And, dare I say it, making the client library data-driven so it will change 
whenever the server-side API changes would be ideal. Right now it's a pita to 
have to update the client library every time something on the server changes. 
This also brings us back to the discussion of whether novaclient (or something) 
should be in the nova source tree and not separate. 

-S
________________________________________
From: Sandy Walsh
Sent: Wednesday, May 18, 2011 9:07 AM
To: Soren Hansen; openstack@lists.launchpad.net
Subject: RE: [Openstack] python-novaclient vs. python-openstack.compute

I agree with all of your points. Having to maintain a client library wasn't on 
our list of "fun things to do".

The only thing I can see in Jacobian's python-openstack.compute branch that 
differs from his old Rackspace API library is the addition of the auth URL and 
a rebranding.

We added that functionality to his old project last year, issued a pull request 
and were ignored. Perhaps his stance on working with us has changed since?

Moreover, since that first pull request we've really moved on with the project 
and there is much more functionality in the library:
- the new zone capabilities
- api versioning
- new OS 1.1 features
- better error handling and reporting
- better debugging

That said, the more we deal with the library the more we realize we should 
re-evaluate its use. It's a very chatty implementation ... frequently 
round-tripping to the server to fetch more detailed information. This is fine 
for a CLI, but as an internal library too inefficient.

Rather than merging these two efforts perhaps we should consider a new tack?

https://github.com/jacobian/openstack.compute
https://github.com/rackspace/python-novaclient

-S

________________________________________
From: openstack-bounces+sandy.walsh=rackspace....@lists.launchpad.net 
[openstack-bounces+sandy.walsh=rackspace....@lists.launchpad.net] on behalf of 
Soren Hansen [so...@linux2go.dk]
Sent: Wednesday, May 18, 2011 3:17 AM
To: openstack@lists.launchpad.net
Subject: [Openstack] python-novaclient vs. python-openstack.compute

python-novaclient[0] is the client for Nova that we maintain
ourselves. It is a fork of jacobian's python-cloudservers.

python-openstack.compute is jacobian's new branch of python-cloudservers.

I wonder if there's any point in having two distinct, but very similar
libraries to do same thing. If not, how do we move forward?

Yielding to jacobian (or someone else external to the project) helps
keep us honest, since someone outside the project would look at the
API docs to extend their client tools, and will hopefully point out if
there's divergence between the API docs and the actual exposed API.

However, we need client tools to exercise new features exposed in the
API, so I'm not sure we can reasonably live without a set of tools
that we maintain ourselves to expose all the new functionality.

Thoughts?

--
Soren Hansen        | http://linux2go.dk/
Ubuntu Developer    | http://www.ubuntu.com/
OpenStack Developer | http://www.openstack.org/

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


Confidentiality Notice: This e-mail message (including any attached or
embedded documents) is intended for the exclusive and confidential use of the
individual or entity to which this message is addressed, and unless otherwise
expressly indicated, is confidential and privileged information of Rackspace.
Any dissemination, distribution or copying of the enclosed material is 
prohibited.
If you receive this transmission in error, please notify us immediately by 
e-mail
at ab...@rackspace.com, and delete the original message.
Your cooperation is appreciated.


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



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

Reply via email to