os-brick: Add support for multiple volumes within NVMe subsystem

Registered by Brian Rosmaita

Several issues in generic NVMeOF connector were encountered while trying to use storage system which provides multiple volumes within one NVMe subsystem.

1) _try_connect_nvme method throws an error while connecting already connected subsystem
    (Failed to write to /dev/nvme-fabrics: Operation already in progress).

2) Attaching the 2nd volume throws an error because current_nvme_devices and all_nvme_devices lists are the same.
     Volume is attached in cinder and just appears in nvme subsystem because this subsystem is already connected.

3) Detaching volume leads to fully disconnected subsystem even if there are volumes attached to VMs.

4) Volume online extend operation also throws and error if lsscsi command output is invalid.
     In my case the output was
     [N:0:3:2] disk dellemc-powerstore__2 -

Blueprint information

Status:
Started
Approver:
None
Priority:
Low
Drafter:
Ivan Pchelintsev
Direction:
Approved
Assignee:
Ivan Pchelintsev
Definition:
Approved
Series goal:
Declined for xena
Implementation:
Needs Code Review
Milestone target:
None
Started by
Brian Rosmaita

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.