Currently, the Openstack API includes a Versions WSGI application. The intended 
purpose is to detail all versions of the API that are reachable by a client. 
Currently, it only supports "v1.0." As we move towards the Cactus release, we 
need to add support for the new "v1.1" specification. The intention of the 
Versions app seems to be to deploy multiple versions of the OS API within the 
same codebase. Since these two versions have significant differences, having to 
support each in the same code seems unnatural.
 
With the existing approach, versioning could be accomplished multiple ways: 
version-specific "if" statements, version-specific class hierarchies, etc. I 
feel this is inelegant and could be accomplished a much cleaner way. I propose 
we move the responsibilities of the Versions app out of the nova codebase and 
into the hands of the operator of the api endpoints. With this approach, the 
code would not unnecessarily increase in complexity as more versions of the api 
are released. The major drawback of this strategy is that each release of 
Openstack Compute could support a single OS API version.
 
As we are slated to have our first multi-version OS API release in Cactus, I 
would like to see us reach a consensus as soon as posible. Any and all feedback 
is welcome!
 
Brian Waldon
_______________________________________________
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