Bug 1312071 - [RFE][cinder] Support Cinder API Microversions
[RFE][cinder] Support Cinder API Microversions
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-cinder (Show other bugs)
7.0 (Kilo)
Unspecified Unspecified
high Severity high
: Upstream M3
: 10.0 (Newton)
Assigned To: Eric Harney
upstream_milestone_mitaka-3 upstream_...
: FutureFeature
Depends On:
  Show dependency treegraph
Reported: 2016-02-25 11:40 EST by Sean Cohen
Modified: 2016-05-15 22:07 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2016-05-15 22:07:01 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Sean Cohen 2016-02-25 11:40:24 EST
Many changes to the Cinder REST API require changes to the consumers of the API.

Each API change bumps a microversion and clients can request a specific
microversion at communication-time, as opposed to what we have now,
where the client uses a specific pinned version that cannot change
(ignore extenions) and core changes cause a major version bump that
everyone has to explicitly switch to.

Basically, it makes client<->server communications more dynamic and less
fragile - with is important for upgrades where some clients are not all the
same version, or for services themselves that communicate with other
services in an expected way.

Use Cases

- Allows developers to modify the Cinder API in backwards compatible way and signal to users of the API dynamically that the change is available without having to create a new API extension.
- Allows developers to modify the Cinder API in a non backwards compatible way whilst still supporting the old behaviour. Users of the REST API are able to decide if they want the Cinder API to behave in the new or old manner on a per request basis. Deployers are able to make new backwards incompatible features available without removing support for prior behaviour as long as there is support to do this by developers.
- Users of the REST API are able to, on a per request basis, decide which version of the API they want to use (assuming the deployer supports the version they want). This means that a deployer who does not upgrade will not break compatibility, and clients that do not upgrade will also remain compatible.

Full spec: https://specs.openstack.org/openstack/cinder-specs/specs/mitaka/api-microversions.html
Comment 1 Mike McCune 2016-03-28 18:34:54 EDT
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune@redhat.com with any questions

Note You need to log in before you can comment on or make changes to this bug.