Reorganize connection-specific Cinder driver code
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 NotImplementedE
* 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
- Started by
- Completed by
- Avishay Traeger