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

Registered by Ivan Pchelintsev

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:
Complete
Approver:
None
Priority:
Low
Drafter:
Ivan Pchelintsev
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for xena
Implementation:
Implemented
Milestone target:
milestone icon xena-brick
Started by
Brian Rosmaita
Completed by
Brian Rosmaita

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.