Obsolete:CinderAPIv2


 * Launchpad Entry: cinder-apiv2
 * Created: 4 Nov 2012
 * Contributors: Mike Perez

Summary
The future release of Cinder's Restful API has many feature and response changes that it requires splitting into a new version of the interface. There was a general consensus from the Cinder team in a previous meeting to model Glance's implementation in versioning api endpoints: http://eavesdrop.openstack.org/meetings/cinder/2012/cinder.2012-10-24-16.13.log.html

Release Note
Will be available in Cinder G1 so that the rest of the team is not blocked by features/improvements they want to implement in v2.

Rationale
To keep the users' knowledge and systems compatible with Cinder while the team paves the future for a new API, we're required to leave their previously used endpoint working just the same. Meanwhile, development of new features and other improvements are done on a v2 endpoint that users' and systems can switch to when ready.

User stories

 * As a user I want to manage my volumes using either v1 or v2 of the Cinder API endpoint.
 * As a system administrator I can choose to serve either v1 and/or v2 of the Cinder API.

Implementation
Using paste's composite factory, we can route requests to different endpoints. (e.g. v1 and v2)

There will be:

cinder.api.v1 and cinder.api.v2 which contain routes and their own implementations.

Middleware code will be moved out of cinder.api.openstack.volumes into cinder.api.middleware

There will be config options to enable the endpoints that are available.