OpenStack Block Storage (Cinder)
Go to file
Gorka Eguileor 671b02b504 Improve ChunkedBackupDriver hashlib calls
Currently we have 2 hashlib calls withing the ChunkedBackupDriver, one
to calculate the MD5 of the chunk and another to calculate the SHA256 of
the blocks within each chunk.

This patch improve interactions between cinder and the hashlib library
method calls by making sure MD5 and SHA256 related calls are execute in
a native thread to improve context switching responsiveness within
eventlet.

The MD5 of a 1GB chunk could take around 4 seconds, so the overhead of
creating a native thread is acceptable, and for the SHA256 instead of
creating a thread for each call we create a single thread to do the
calculations of all the blocks, thus making it cost effective.

Current code slices the data into blocks, which means that the data is being
copied, but this has now been switched to a memoryview object to take advantage
of the buffer protocol so copying of data is no longer necesary.

Change-Id: Ifb65b8008f30bc9cc4b6cd9b867a726ec4ed4707
2018-02-22 16:52:19 +01:00
api-ref/source api-ref: note that force detach is admin-only by default 2018-02-15 09:21:04 -05:00
cinder Improve ChunkedBackupDriver hashlib calls 2018-02-22 16:52:19 +01:00
contrib/block-box Bump up the API microversion in cinder.rc 2017-12-22 06:18:09 -08:00
doc Merge "Change order of installation to match previous" 2018-02-22 14:00:18 +00:00
etc/cinder Add cg policies and clean up old policy handling 2017-12-04 10:07:54 +08:00
playbooks/legacy/cinder-tempest-dsvm-lvm-lio-barbican Rename lio job to lio-barbican 2018-01-30 14:41:56 -05:00
rally-jobs Switch Rally Task To format V2 2017-10-13 08:37:57 +00:00
releasenotes Merge "Add Windows volume backup support" 2018-02-22 10:49:29 +00:00
tools Add policy documentation and sample file 2017-10-20 10:47:34 +08:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 19:09:37 +05:30
.gitignore Add doc/source/_static/cinder.policy.yaml.sample to .gitignore 2017-11-15 16:46:57 +09:00
.gitreview Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
.stestr.conf Add .stestr.conf configuration 2017-10-10 00:46:42 +00:00
.zuul.yaml Merge "Zuul: Remove project name" 2018-02-08 03:27:17 +00:00
babel.cfg Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
bindep.txt Do not explicitly list thin provisioning tools for RPM 2018-01-02 10:52:44 -06:00
CONTRIBUTING.rst Optimize the link address 2017-04-08 15:03:44 +08:00
driver-requirements.txt Add driver-requirements entry for storpool 2018-01-02 09:54:49 -05:00
HACKING.rst Fix wrong links in Cinder 2017-09-07 11:55:44 +08:00
LICENSE Initial fork out of Nova. 2012-05-03 10:48:26 -07:00
pylintrc Use six to fix imports on Python 3 2015-06-11 17:19:19 +02:00
README.rst Update Documentation link 2017-07-13 12:12:20 +00:00
requirements.txt Updated from global requirements 2018-02-17 09:22:48 +00:00
setup.cfg Remove In-repo cinder tempest plugin 2017-12-20 17:11:51 +00:00
setup.py Updated from global requirements 2017-03-02 23:53:29 +00:00
test-requirements.txt Updated from global requirements 2018-02-01 07:06:24 +00:00
tox.ini Merge "Enable hash randomization in unit tests" 2018-02-22 04:56:52 +00:00

Team and repository tags

image

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://git.openstack.org/openstack/cinder.git

For developer information please see HACKING.rst

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

Python client

https://git.openstack.org/cgit/openstack/python-cinderclient