Reorganize connection-specific Cinder driver code

Registered by Avishay Traeger

After the introduction of FC, the class structure for the Cinder drivers has become unclear.
* VolumeDriver contains nothing except for _try_execute(), which replicates the functionality already included in utils.execute(). We propose to have nothing in this class, other than comments describing functions that raise NotImplementedError.
* There is no FCDriver class, and we don't think there should be.
* ISCSIDriver contains code that we believe should be moved to a utility file and called by drivers as necessary.
* SanISCSIDriver contains some SSH helper functions that should be moved to a utility file.

Bottom line - all drivers should inherit from VolumeDriver and implement support for protocols as they wish, either by separate classes that call relevant helper functions, or one class. This will lead to cleaner code, more code reuse, and less duplication.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
RonenKat
Direction:
Needs approval
Assignee:
Avishay Traeger
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Avishay Traeger

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.