OpenStack Block Storage (Cinder)
Go to file
Zhiteng Huang 7e95b05b93 Fix possible race condition for accept transfer
Accept transfer API workflow is currently like this:

  call volume_api.accept_transfer()
    |
    --- RPC cast to volume manager
          |
          --- volume manager calls volume driver accept_transfer()

  update volume's DB record

Given the non-blocking nature of RPC cast, what happens in volume
manager and volume driver can happen in parallel with the DB update.
If volume driver relies on original DB record to do things, then
DB record shouldn't be updated until volume driver finishes its job.

So this patch change volume RPC API accept_transfer() from cast
to call to make sure the workflow is in serialized manner.  Also
elevated the context when volume manager tries to update the DB
record when driver has done accept_transfer().

Change-Id: Ieae52e167aa02967338e0be5d78d570d682faa7a
Closes-bug: #1357432
2014-09-08 08:54:52 -07:00
bin Enable import group hacking rule 2014-08-14 13:10:58 +08:00
cinder Fix possible race condition for accept transfer 2014-09-08 08:54:52 -07:00
doc Use oslo.i18n 2014-08-08 17:26:41 -05:00
etc/cinder Merge "Deprecate the V1 API" 2014-09-05 20:31:49 +00:00
rally-scenarios Add rally job 2014-04-25 18:31:06 +03:00
tools Ignore pylint error 'hashlib' has no shaxxx member 2014-08-29 12:18:06 -04:00
.coveragerc Add .coveragerc to show proper coverage statistics. As in other openstack projects. 2013-05-15 03:40:07 -07:00
.gitignore Updates .gitignore 2013-11-28 09:52:23 +00:00
.gitreview Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
.mailmap Add mailmap entry 2014-05-07 12:03:15 -07:00
.testr.conf Fix up the test framework 2013-06-14 14:02:17 +00:00
CONTRIBUTING.md Fix the section name in CONTRIBUTING.rst 2014-07-14 19:53:30 +08:00
HACKING.rst Updated HACKING.rst so that it is accurate 2014-08-09 22:07:11 -05: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
README.rst Adding helpful URL links to README.rst and HACKING.rst 2013-12-27 19:29:17 -06:00
babel.cfg Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
openstack-common.conf Switch to use oslo.db 2014-07-21 16:10:41 +03:00
pylintrc Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
requirements.txt warn against sorting requirements 2014-09-03 11:56:50 -05:00
run_tests.sh Provide a quick way to run flake8 2014-08-18 16:37:32 -06:00
setup.cfg Merge "Remove cinder-rpc-zmq-receiver" 2014-07-29 19:22:32 +00:00
setup.py Updated from global requirements 2014-05-22 07:04:39 +00:00
test-requirements.txt warn against sorting requirements 2014-09-03 11:56:50 -05:00
tox.ini Enable import group hacking rule 2014-08-14 13:10:58 +08:00

README.rst

The Choose Your Own Adventure README for 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.

To monitor it from a distance: follow @openstack on twitter.

To tame it for use in your own cloud: read http://docs.openstack.org

To study its anatomy: read http://cinder.openstack.org

To dissect it in detail: visit http://github.com/openstack/cinder

To taunt it with its weaknesses: use http://bugs.launchpad.net/cinder

To watch it: http://jenkins.openstack.org

To hack at it: read HACKING.rst