os-brick/os_brick
Gorka Eguileor a6e789f27e Fix iSCSI multipath rescan
iSCSI multipath rescan uses iscsiadm --rescan option for nodes and
sessions, which can end up recreating devices that had just been removed
if there's a race condition between the removal of a SCSI device and the
connection of a volume.

The race condition happens if a rescan done when attaching happens right
between us removing the path and removing the exported lun, because the
rescan will add not only the new path we are attaching, but the old path
we are removing, since the lun still hasn't been removed.

This would leave orphaned devices that unnecessarily pollute our
environment,

This patch narrows the rescan to only rescan for the specific target id,
channel, and lun number if we can find this information.

When we cannot find this information we do the scan as we were doing it
before.

Closes-Bug: #1664032
Change-Id: I1b3bd34db260165a6ea9ca061f946d6dfcf8553f
2017-02-27 16:56:28 +01:00
..
encryptors Encryptors: Fix compat with Nova encryptors for Ocata 2017-01-24 13:31:29 +00:00
initiator Fix iSCSI multipath rescan 2017-02-27 16:56:28 +01:00
local_dev Remove race condition from lvextend 2016-08-01 20:08:07 +00:00
privileged Trivial rootwrap -> privsep replacement 2016-04-15 15:29:25 +00:00
remotefs Merge "Windows remotefs: create mountpoints at the expected location" 2016-11-18 16:46:00 +00:00
tests Fix iSCSI multipath rescan 2017-02-27 16:56:28 +01:00
__init__.py Update os-brick requirements 2015-04-17 17:11:34 +00:00
exception.py Fix iSCSI multipath rescan 2017-02-27 16:56:28 +01:00
executor.py Fix cmd execution stderr, stdout unicode errors 2016-08-25 16:34:28 +00:00
i18n.py Drop use of 'oslo' namespace package 2015-04-28 22:25:57 +00:00
utils.py Mask passwords in utils.trace for func params 2016-11-08 12:55:46 -05:00
version.py Add reno for release notes management 2016-01-20 19:19:36 -06:00