API: Microversions support for the Nova REST API

Registered by Christopher Yeoh

Microversioning support for the Nova REST API

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
High
Drafter:
Christopher Yeoh
Direction:
Approved
Assignee:
jichenjc
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Thierry Carrez
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:api-microversions,n,z

Addressed by: https://review.openstack.org/96139
    WIP: Microversions for the REST API

You should not set a milestone target unless the blueprint has been properly prioritized by the project drivers.

Addressed by: https://review.openstack.org/101648
    Alternative take on API microversioning

Addressed by: https://review.openstack.org/104418
    WIP: Change api-microversions-alt

Gerrit topic: https://review.openstack.org/#q,topic:bp/api-microversions,n,z

Addressed by: https://review.openstack.org/135873
    Adds APIVersionRequest class for API Microversions

Addressed by: https://review.openstack.org/136227
    Set API version request information on request objects

Addressed by: https://review.openstack.org/136232
    Cleanup v2.1 controller inheritance

Addressed by: https://review.openstack.org/136251
    Change definition of API_EXTENSION_NAMESPACE to method

Addressed by: https://review.openstack.org/136759
    WIP: Implement microversion support on api methods

Addressed by: https://review.openstack.org/136951
    Adds global API version check for microversions

Addressed by: https://review.openstack.org/137032
    Adds API microversion response headers

Addressed by: https://review.openstack.org/137274
    Add support for microversions API special version latest

Addressed by: https://review.openstack.org/137633
    Adds support for versioned schema validation for microversions api

Addressed by: https://review.openstack.org/137910
    Use constant for microversions header name (cleanup)

Addressed by: https://review.openstack.org/138319
    Adds hacking check for api_version decorator

Addressed by: https://review.openstack.org/140258
    Add more unit test case for microversion

Gerrit topic: https://review.openstack.org/#q,topic:add-unit-test,n,z

Addressed by: https://review.openstack.org/140300
    Add unit tests for microversion and validation

Addressed by: https://review.openstack.org/141973
    Add api microvesion unit test case for wigi.action

Addressed by: https://review.openstack.org/141983
    Add api microvesion unit test case for wsgi.extends

Addressed by: https://review.openstack.org/142317
    Improve api-microversion hacking check

Addressed by: https://review.openstack.org/144994
    Add version as request param for fake HTTPRequest

Addressed by: https://review.openstack.org/144995
    Change host to host_name in show host output

Addressed by: https://review.openstack.org/144998
    Add support for staticmethod on api_request

Addressed by: https://review.openstack.org/145538
    Add version specific test cases for microverison

Unsure on status, moving to kilo-3 for now --johnthetubaguy 26th Jan 2015

Addressed by: https://review.openstack.org/150641
    Adds devref for API Microversions

Addressed by: https://review.openstack.org/152840
    Add api_version parameter for API sample test base class

Addressed by: https://review.openstack.org/153183
    Change microversion header name

Gerrit topic: https://review.openstack.org/#q,topic:bp/keypair-x509-certificates,n,z

Addressed by: https://review.openstack.org/155233
    Adds infrastructure for microversioned api samples

Addressed by: https://review.openstack.org/155606
    Merge microversions unit tests

Addressed by: https://review.openstack.org/155611
    Change microversion header name

Addressed by: https://review.openstack.org/156450
    Add manual version comparison to microversion devref document

Addressed by: https://review.openstack.org/158528
    Consolidate use api request version header

Addressed by: https://review.openstack.org/159075
    Fix bad interaction between @wsgi.extends and @wsgi.api_version

Addressed by: https://review.openstack.org/159715
    Add microversion allocation on devref

Since we have hit feature proposal freeze, marking this as ready to review. Please no more "new code" should be uploaded as we try to get the current items merged before feature freeze. Unit test only changes can be uploaded, but ideally outside of this blueprint, to ease the tracking of this effort. --johnthetubaguy 10th March 2015

Addressed by: https://review.openstack.org/164234
    Delete version specified code suggestion

Remaining work is docs and test clean up, so marking this as complete, for the sake of the feature bits in kilo. --johnthetubaguy 19th March 2015

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.