RETIRED, further work has moved to Debian project infrastructure
24bab6b7f6
Current code for claiming and updating workers relays on the updated_at field to determine when a DB record has changed. This is usually enough for any DB with sub-second resolution since the likeliness of us having a race condition is very unlikely. But not all DBs support sub-second resolution, and in those cases the likeliness of a race condition increases considerable since we are working with a 1 second granularity. This patch completely removes the possibility of having race conditions using a specific integer field that will be increased on each DB update. It is compatible with both types of DBMs and will also work with rolling upgrades. The reason why we are not using the version counting provided by SQLAlchemy [1] is because we require an ORM instance to use the feature, and in some of our usages we don't have an instance to work with, and adding an additional read query is unnecessarily inefficient. Additionally we will no longer see spurious errors in unit test test_do_cleanup_not_cleaning_already_claimed_by_us. [1] http://docs.sqlalchemy.org/en/latest/orm/versioning.html Implements: blueprint cinder-volume-active-active-support Change-Id: Ief9333a2389d98f5d0a11d8da94d160de8ecce0e |
||
---|---|---|
api-ref/source | ||
cinder | ||
doc | ||
etc/cinder | ||
rally-jobs | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
babel.cfg | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
pylintrc | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Team and repository tags
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.
- Wiki: http://wiki.openstack.org/Cinder
- Developer docs: http://docs.openstack.org/developer/cinder
Getting Started
If you'd like to run from the master branch, you can clone the git repo:
For developer information please see HACKING.rst
You can raise bugs here http://bugs.launchpad.net/cinder
Python client
https://git.openstack.org/cgit/openstack/python-cinderclient