<font face="arial" size="2"><p>I could use some more clarification on what you would like to see. What do you mean by "recent versions"? How long should a minor version of the OS API be supported in future releases? Should we even expose minor versions as separate endpoints?</p>
<p> </p>
<p>Personally, I do not feel it necessary to expose minor versions with the understanding that they do not break backwards compatibility. Currently OS API v1.0 and v1.1 may seem like minor versions of the same spec, but they are actually major versions masquerading as such. This fact makes it difficult to support both versions given the current codebase. Really, we should define these as v1 and v2, and develop them side-by-side within the current nova/api/ directory (while sharing as much common code as possible).</p>
<p> </p>
<p>Waldon</p>
<p> </p>
<p>-----Original Message-----<br />From: "Thierry Carrez" <thierry@openstack.org><br />Sent: Thursday, March 3, 2011 10:05am<br />To: openstack@lists.launchpad.net<br />Subject: Re: [Openstack] Multiple Versions in Openstack API<br /><br /></p>
<div id="SafeStyles1299168627">
<p>Brian Waldon wrote:<br />> Currently, the Openstack API includes a Versions WSGI application. The<br />> intended purpose is to detail all versions of the API that are reachable<br />> by a client. Currently, it only supports "v1.0." As we move towards the<br />> Cactus release, we need to add support for the new "v1.1" specification.<br />> The intention of the Versions app seems to be to deploy multiple<br />> versions of the OS API within the same codebase. Since these two<br />> versions have significant differences, having to support each in the<br />> same code seems unnatural.<br />> <br />> With the existing approach, versioning could be accomplished multiple<br />> ways: version-specific "if" statements, version-specific class<br />> hierarchies, etc. I feel this is inelegant and could be accomplished a<br />> much cleaner way. I propose we move the responsibilities of the Versions<br />> app out of the nova codebase and into the hands of the operator of the<br />> api endpoints. With this approach, the code would not unnecessarily<br />> increase in complexity as more versions of the api are released. The<br />> major drawback of this strategy is that each release of Openstack<br />> Compute could support a single OS API version.<br /><br />For the OpenStack API to grow a significant partner ecosystem, it seems<br />important to me to support at least the recent versions of the API in<br />new releases of Openstack Compute...<br /><br />-- <br />Thierry Carrez (ttx)<br />Release Manager, OpenStack<br /><br />_______________________________________________<br />Mailing list: https://launchpad.net/~openstack<br />Post to     : openstack@lists.launchpad.net<br />Unsubscribe : https://launchpad.net/~openstack<br />More help   : https://help.launchpad.net/ListHelp</p>
</div></font>