cinder-api-microversions

Registered by Scott DAngelo

Many changes to the Cinder REST API require changes to the consumers of the API.
For example, If we need to add a required parameter to a method that is called
 by Nova, we'd need both the Nova calling code and the cinderclient that
Nova uses to change. But newer Cinder versions with the change must work with
older Nova versions, and there is no mechanism for this at the moment. Adding
microversions will solve this problem.
With microversions, the highest supported version will be negotiated by a field
in the HTTP header that is sent to the Cinder API. In the case where the field
'versions' is not sent (i.e. clients and scripts that pre-date this change),
then the lowest supported version would be used. This means that our current
Cinder API v2 would be the default, and consumers of the API that wished to
use a newer version could do so.

Blueprint information

Status:
Complete
Approver:
Sean McGinnis
Priority:
High
Drafter:
Scott DAngelo
Direction:
Needs approval
Assignee:
Scott DAngelo
Definition:
Approved
Series goal:
Accepted for mitaka
Implementation:
Implemented
Milestone target:
milestone icon mitaka-3
Started by
Scott DAngelo
Completed by
Sean McGinnis

Related branches

Sprints

Whiteboard

SeanMcG: Can you please set a priority for this? I think that is why it doesn't show up on the mitak BP page ( https://blueprints.launchpad.net/cinder/mitaka )

Sorry, it's not the priority, since there are "undefined" priorities on that page. Do you have any idea why it doesn't show up?

wanghao: There is no spec link and implementation link, I'm not sure why, but just add them manually.
Spec link: https://review.openstack.org/#/c/223803/
Implementation link: https://review.openstack.org/#/c/224910/

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.