ec22c32de6
When an nvme subsystem has all portals in connecting state and we try to attach a new volume to that same subsystem it will fail. We can reproduce it with LVM+nvmet if we configure it to share targets and then: - Create instance - Attach 2 volumes - Delete instance (this leaves the subsystem in connecting state [1]) - Create instance - Attach volume <== FAILS The problem comes from the '_connect_target' method that ignores subsystems in 'connecting' state, so if they are all in that state it considers it equivalent to all portals being inaccessible. This patch changes this behavior and if we cannot connect to a target but we have portals in 'connecting' state we wait for the next retry of the nvme linux driver. Specifically we wait 10 more seconds that the interval between retries. [1]: https://bugs.launchpad.net/nova/+bug/2035375 Closes-Bug: #2035695 Change-Id: Ife710f52c339d67f2dcb160c20ad0d75480a1f48 |
||
---|---|---|
doc | ||
etc/os-brick/rootwrap.d | ||
os_brick | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.pylintrc | ||
.stestr.conf | ||
.zuul.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
bindep.txt | ||
mypy-files.txt | ||
pylintrc | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
brick
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 3.8+. A recent tox is required, as is a recent virtualenv (20.2.2 or newer).
- For any other information, refer to the developer documents:
- OR refer to the parent project, Cinder:
- Release notes for the project can be found at:
- License: Apache License, Version 2.0
- Source: https://opendev.org/openstack/os-brick
- Bugs: https://bugs.launchpad.net/os-brick