Volume discovery and local storage management lib
Go to file
Gorka Eguileor b75411de2b Succeed on iSCSI detach when path just went down
If the iSCSI connection to a device goes down right after we flush it,
or if one of the paths of a multipath device goes down right before we
start disconnecting, the detach will fail even though it should succeed.

We'll see a VolumePathNotRemoved exception listing volumes that had not
disappeared.

This happens because, under those circumstances, it may take up to 30
seconds for the SCSI device to be removed from /dev, but expect it to
disappear in 6 seconds (first check happens, immediately, then another
in 2 seconds, and another in 4 seconds).

Since the device will be removed if we wait a bit more, this patch makes
it so that we wait for up to 30 seconds for the removal.

To ensure we wait as little time as possible, we change the way we wait
for the devices to be removed.  Instead of checking, sleeping for 2 and
then for 4 seconds, and then checking again, we just sleep 500ms between
checks, and we do the DEBUG log every 5 seconds.

Change-Id: If801dfc2462c0d3f986eebd4108087139934610d
Closes-Bug: #1794829
(cherry-picked from b9c7bc2b59)
2018-10-01 16:39:11 -04:00
doc/source doc: Restructure docs for doc-migration 2017-08-08 15:44:29 +01:00
etc/os-brick/rootwrap.d Trivial rootwrap -> privsep replacement 2016-04-15 15:29:25 +00:00
os_brick Succeed on iSCSI detach when path just went down 2018-10-01 16:39:11 -04:00
releasenotes Fix multipath disconnect with path failure 2018-08-21 09:26:43 -05:00
tools Avoid tox_install.sh for constraints support 2017-12-02 16:51:51 +00:00
.coveragerc Fix coverage generation 2016-04-20 15:52:31 +00:00
.gitignore Remove testrepository 2018-07-11 17:51:51 +07:00
.gitreview Update .gitreview for stable/rocky 2018-07-26 12:35:15 +00:00
.mailmap Created the Brick library from Cinder 2015-01-22 19:09:30 +00:00
.stestr.conf Add .stestr.conf configuration 2017-10-02 17:35:26 -05:00
.zuul.yaml import zuul job settings from project-config 2018-09-09 05:52:20 -04:00
CONTRIBUTING.rst Update and replace http with https for doc links 2017-07-26 02:18:44 +00:00
HACKING.rst Update and replace http with https for doc links 2017-07-26 02:18:44 +00:00
LICENSE Created the Brick library from Cinder 2015-01-22 19:09:30 +00:00
README.rst Add release note link in README 2018-06-27 23:02:38 +08:00
babel.cfg Created the Brick library from Cinder 2015-01-22 19:09:30 +00:00
bindep.txt Fix bindep for multipath 2018-04-02 14:40:35 -04:00
lower-constraints.txt Remove testrepository 2018-07-11 17:51:51 +07:00
pylintrc Add pylint tox env 2016-04-04 18:02:19 -04:00
requirements.txt uncap eventlet 2018-04-11 11:52:27 -04:00
setup.cfg Merge "Update and replace http with https for doc links" 2017-09-01 14:22:15 +00:00
setup.py Updated from global requirements 2017-03-10 19:12:09 +00:00
test-requirements.txt Remove testrepository 2018-07-11 17:51:51 +07:00
tox.ini Update UPPER_CONSTRAINTS_FILE for stable/rocky 2018-07-26 12:35:18 +00:00

README.rst

Team and repository tags

image

brick

Latest Version

Downloads

OpenStack Cinder brick library for managing local volume attaches

Features

  • Discovery of volumes being attached to a host for many transport protocols.
  • Removal of volumes from a host.

Hacking

Hacking on brick requires python-gdbm (for Debian derived distributions), Python 2.7 and Python 3.4. A recent tox is required, as is a recent virtualenv (13.1.0 or newer).

If "tox -e py34" fails with the error "db type could not be determined", remove the .testrepository/ directory and then run "tox -e py34".

For any other information, refer to the developer documents:

https://docs.openstack.org/os-brick/latest/

OR refer to the parent project, Cinder:

https://docs.openstack.org/cinder/latest/

Release notes for the project can be found at:

https://docs.openstack.org/releasenotes/os-brick