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
python-subunit is not used directly anywhere
and it is dependency of both testrepository
and os-testr
(probably was used by some tox wrapper script before)
Change-Id: I3f54fdbe876b2dd052d15c90dfafecd8baa03c45
We do not need tox_install.sh, pip can handle constraints itself
and install the project correctly. Thus update tox.ini and remove
the now obsolete tools/tox_install.sh file.
This follows https://review.openstack.org/#/c/508061 to remove
tools/tox_install.sh.
Change-Id: I43828f47711118eba8d835222586db4faac93180
os_brick updates node.startup values from default value to
"automatic" when it creates iscsi connection.
But existing target's node.startup values will be reverted from
"automatic" to default value in creating iscsi connection process
if multipath is used.
When using multipath with a discovery type of backend, the
"iscsiadm -m discovery -t sendtargets -p ..." command will recreate
all target information of specified node.[1] node.startup value wil
be reverted to default value of existing targets by recreating.
As a result, "automatic" targets and default value targets will be
mixed on the host.
So this patch recovers node.startup values after discovering.
[1]
This behavior was explained in following page:
https://github.com/open-iscsi/open-iscsi/issues/58
Change-Id: I30b736ae3b916f77fc0778f5364c5f6ed6fecc60
closes-bug: #1670237
Allow clients to attach and detach Cinder volumes stored on
a StorPool cluster.
Change-Id: I33cfd7ab9a1d201f6c49357cacb4a809453b7201
Implements: blueprint brick-add-storpool-driver
When recovering from the failure of a compute host, Nova can call
close on an encryptor whose state Nova can't be certain of, but which
hasn't been created. This change makes the close operation idempotent,
which allows recovery to be more robust.
Related-bug: #1724573
Change-Id: I9f52f89b8466d03699cfd5c0e32c672c934cd6fb
When recovering from the failure of a compute host, Nova can call
close on an encryptor whose state Nova can't be certain of, but which
hasn't been created. This change makes the close operation idempotent,
which allows recovery to be more robust.
Related-bug: #1724573
Change-Id: I31d72357c89db53a147c2d986a28c9c6870efad0
Release notes are version independent, so remove version/release values.
We've found that most projects now require the service package to be
installed in order to build release notes, and this is entirely due to
the current convention of pulling in the version information.
Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.
Change-Id: I0ca29d19436422a382bce8c23bba24a6e677c434
Needed-by: I56909152975f731a9d2c21b2825b972195e48ee8
Added os-brick changes to support NVMEoF for initiator CLI.
A New connector, NVMe connector, is added to handle initiator callsi for
connecting and disconnecting volumes to instances using nvme-cli over
RDMA.
Implements: blueprint nvme-over-fabirc-nova
Needed-By: I67a72c4226e54c18b3a6e4a13b5055fa6e85af09
Needed-By: I7cacd76c63e0ad29eb2d448ce07fbb5176f62721
Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
Change-Id: I83697d6b46248edbe0a0ef3b76829b28ed5c048c
Current FC tries to limit the scanning range by detecting the target and
channel, unfortunately this code has a good number of implementation
issues:
- Matching uses local WWNN instead of target's WWPN.
- Not using a shell to run the command, so the * glob won't expand.
- Not using -l on grep command to list file names instead of contents.
- Not making the search case insensitive.
This patch fixes all these issues by using the target's WWPNs instead
-taking into account FC Zone/Access control information if present- and
supporting both possible connection information formats for the WWPNs
(single value or list of values).
Rescan tests have been modified to adhere to unit tests best practices,
where each test case only tests the specific code in the method under
test and mocks everything else.
Closes-Bug: #1664653
Closes-Bug: #1684996
Closes-Bug: #1687607
Change-Id: Ib539f6a3652bab4399c30cd90f326829e839ec02
This should be enabled for all tests to ensure
we don't introduce bugs related to code relying
on ordering of unordered types.
Change-Id: I7150e6f222c8b7a264da2d497ea879028ab24b12
These constants were moved over a year ago and we have had several releases
since then. The old ones that were kept for backwards compatibility can now
be removed.
Depends-on: I8682804d2299db793c1e4397a07ff67608a8bda6
Change-Id: Ia18de03880ca5b04d31dbdf7891fa6d3240ae9b5
os-testr has moved over to use stestr instead of testr. While this
is usually compaible with existing settings, there is a warning
that is emitted when .stestr.conf is not present. It is usually
able to fall back to parsing the .testr.conf file, but to be more
correct and to prevent future problems we should update the config.
Change-Id: I15fd3427485ff26ee936cae622585745ba9281b7
In test_linuxscsi's `_remove_scsi_symlinks_no_links` test we are passing
the list of devices to the method including the /dev prefix, when it
shouldn't have it.
The test result is the same, but it is incorrect to do so as it would be
missing the intent of the test case.
TrivialFix
Change-Id: If0925a5aa3b22248027e6dbae7954e573a1476b8
On iSCSI connections, when we are making sure that there no links remain
like /dev/disk/by-id/scsi-* we make several calls to os.path.realpath
which normal behavior is:
- If file path doesn't exist, returns the same file path
- If file path exists, return the real path
But there is a third option, and that is when the file did exist but it
dissapear right when the call to os.readlink in posixpath:_joinrealpath
path, ok = _joinrealpath(path, os.readlink(newpath), seen)
Which ends up raising an exception such as:
OSError: [Errno 2] No such file or directory:
'/dev/disk/by-id/scsi-20024f40058540081'
And because of this exception the detach will fail when it shouldn't.
This patch adds includes the call to os.path.realpath within a
try...except clause to prevent this race condition from unexpectely
making the detach operation fail.
Change-Id: Ieb58826b28c62094c941fce10863c0a75fb4e8aa
Closes-Bug: #1719719
The 'pass' statement in initiator/connectors/vmware.py:
def check_valid_device() causes the method to return a
false value, and the 'cinder migrate' process will fail.
This patch implements the check_valid_device() method,
not just 'pass' or returns something directly.
Change-Id: Ifb3ecd3eb5a3fbbc35f38e4ffddbd7144965aab1
Closes-bug: #1704695
Change ppc64 device discovery to remove duplicate devices
in _get_host_devices().
Change _get_hba_channel_scsi_target() to find devices
regardless of the case of WWPNs.
Change-Id: I18e74d13cd94aba625c51ee05fde75642fbfd2f6
Closes-Bug: #1715647