By default, udev will set device by-path name to its ID_PATH.
Looking at [1], most of the time, current code works,
but when system uses platform, then disk name will be prefixed by
'platform-xxxxx'.
[1]: a0be538616/src/udev/udev-builtin-path_id.c (L530)
Change-Id: I9b2c120f074f60b9af6dd81718a5287656040aba
Closes-Bug: #1862443
(cherry picked from commit 7c9020f006)
(cherry picked from commit 9491b6a417)
Under certain conditions detaching a multipath device may result on
failure when flushing one of the individual paths, but the disconnect
should have succeeded, because there were other paths available to flush
all the data.
OS-Brick is currently following standard recommended disconnect
mechanism for multipath devices:
- Release all device holders
- Flush multipath
- Flush single paths
- Delete single devices
The problem is that this procedure does an innecessary step, flushing
individual single paths, that may result in an error.
Originally it was thought that the individual flushes were necessary to
prevent data loss, but upon further study of the multipath-tools and the
device-mapper code it was discovered that this is not really the case.
After the multipath flushing has been completed we can be sure that the
data has been successfully sent and acknowledge by the device.
Closes-Bug: #1785669
Change-Id: I10f7fea2d69d5d9011f0d5486863a8d9d8a9696e
The device path to a block device on Ubuntu using a ds8k LUN
differs from the device path for other storage systems.
This patch adds the new device path as third possibility.
Change-Id: I92f1e5a2c7203af6c01c4742067ced16a840eb04
This fix solves a LUN attachment error for Ubuntu on s390 host setups. Fiber
Channel requires a path for discovery of new devices, and Ubuntu uses a
different format than previously assumed. This can be solved by simply adding
the Ubuntu-style path to the list of possible paths, since they get quietly
dropped if they lead nowhere in FibreChannelConnector._get_possible_volume_paths
anyways.
Change-Id: I0b07572903263122213f2ea5dc42151a7b69d99f
Closes-Bug: #1655047
This is a larger refactor of the connector.py file. The goal is to
simplfy the file by moving the vendor connector classes to their own
files, and keep only the InitiatorConnector in the connector.py file.
The vendor specific connector tests are also split out into their own
files.
Change-Id: I020e75ca8cd8bec2ad1b38f3ade5cc1f63a4fee5
Implements: bp connector-refactor