nova/releasenotes/notes/nvmeof-guard-0f99effdd03983b6.yaml
Gorka Eguileor 18163761d0 Fix guard for NVMeOF volumes
When detaching multiple NVMe-oF volumes from the same host we may end
with a NVMe subsystem in "connecting" state, and we'll see a bunch nvme
error in dmesg.

This happens on storage systems that share the same subsystem for
multiple volumes because Nova has not been updated to support the
tri-state "shared_targets" option that groups the detach and unmap of
volumes to prevent race conditions.

This is related to the issue mentioned in an os-brick commit message [1]

For the guard_connection method of os-brick to work as expected for
NVMe-oF volumes we need to use microversion 3.69 when retrieving the
cinder volume.

In microversion 3.69 we started reporting 3 states for shared_targets:
True, False, and None.

- True is to guard iSCSI volumes and will only be used if the iSCSI
  initiator running on the host doesn't have the manual scans feature.

- False is that no target/subsystem is being shared so no guard is
  necessary.

- None is to force guarding, and it's currenly used for NVMe-oF volumes
  when sharing the subsystem.

[1]: https://review.opendev.org/c/openstack/os-brick/+/836062/12//COMMIT_MSG

Closes-Bug: #2035375
Change-Id: I4def1c0f20118d0b8eb7d3bbb09af2948ffd70e1
2024-01-05 16:58:02 +01:00

7 lines
246 B
YAML

---
fixes:
- |
`Bug #2035375 <https://bugs.launchpad.net/nova/+bug/2035375>`_: Fixed
leftover NVMe-oF subsystems when disconnecting multiple NVMe-oF volumes on
the same host from storage sharing the subsystem for different volumes.