RETIRED, further work has moved to Debian project infrastructure
Go to file
scottda 6b11d276d1 cinder-api-microversions code
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. In order to ensure that the
API consumer is explicitly asking for a microversioned API, a new endpoint v3
is added, which is identical to API version v2. This means that our new
Cinder API v3 would be the default, and consumers of the API that wished to
use a newer version could do so by using that endpoint and a microversion in
the HTTP header.
New tests for microversioned API features on endpoint /v3 should be added to
cinder/tests/unit/api/v3/ directory. Existing functionality will be tested via
the .../v2/ unit tests.

DocImpact
APIImpact
Implements: https://blueprints.launchpad.net/cinder/+spec/cinder-api-microversions
Change-Id: I48cdbbc900c2805e59ee9aebc3b1c64aed3212ae
2016-02-24 06:50:54 -07:00
cinder cinder-api-microversions code 2016-02-24 06:50:54 -07:00
doc cinder-api-microversions code 2016-02-24 06:50:54 -07:00
etc/cinder cinder-api-microversions code 2016-02-24 06:50:54 -07:00
rally-jobs Use Cinder API v2 for Rally scenarios 2015-12-07 18:24:39 +02:00
releasenotes cinder-api-microversions code 2016-02-24 06:50:54 -07:00
tools Fix tox -e fast8 2016-01-08 11:05:44 -05:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:25:22 +00:00
.gitignore Add reno for release notes management 2015-11-05 14:58:17 +01:00
.gitreview Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
.testr.conf Fix up the test framework 2013-06-14 14:02:17 +00:00
babel.cfg Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
CONTRIBUTING.rst Update CONTRIBUTING.md to CONTRIBUTING.rst 2015-11-10 23:10:38 +08:00
HACKING.rst Hacking Checks for assertTrue/IsNone() 2015-11-25 11:22:35 -06:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
MANIFEST.in Use setuptools-git. 2012-08-10 11:56:00 -04:00
openstack-common.conf Move oslo-incubator's scheduler module to cinder 2015-11-24 15:49:31 +01:00
pylintrc Use six to fix imports on Python 3 2015-06-11 17:19:19 +02:00
README.rst Update README.rst to current state 2015-01-12 14:02:24 +01:00
requirements.txt Updated from global requirements 2016-02-06 23:00:27 +00:00
run_tests.sh Detect addition of executable files 2015-08-31 12:19:51 -04:00
setup.cfg Remove version per M-1 release instructions 2015-12-03 08:32:41 -06:00
setup.py Updated from global requirements 2015-09-18 16:37:17 +00:00
test-requirements.txt Updated from global requirements 2016-02-05 05:06:51 +00:00
tests-py3.txt Port backup drivers to Python 3 2016-02-09 11:52:42 +01:00
tox.ini Run flake8 also on cinder/common 2016-01-21 14:17:34 +01:00

CINDER

You have come across a storage service for an open cloud computing service. It has identified itself as Cinder. It was abstracted from the Nova project.

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://github.com/openstack/cinder.git

For developer information please see HACKING.rst

You can raise bugs here http://bugs.launchpad.net/cinder

Python client

https://github.com/openstack/python-cinderclient.git