Volume migration with file I/O instead of iSCSI attachment
When migrating a volume between two backends, the copy_volume_data routine in the source volume's driver is executed to move the blocks from one volume to another. This routine assumes that both source and destination volumes can be attached locally via iSCSI. This is technically not necessary for local volumes and also prevents drivers such as Ceph from participating in volume migration operations.
I propose that we abstract the iSCSI volume attachement into a routine that can determine the best way to return a file-like python object. For remote volumes, this may fall back to attaching the volume using iSCSI. And for drivers that do not use iSCSI like Ceph, its RBD interface can be hidden behind a similar file-like object such that copy_volume_data does not see this difference.
Blueprint submission via cinder-specs is in progress.
Blueprint information
- Status:
- Complete
- Approver:
- Mike Perez
- Priority:
- Medium
- Drafter:
- Jon Bernard
- Direction:
- Approved
- Assignee:
- Jon Bernard
- Definition:
- Approved
- Series goal:
- Accepted for liberty
- Implementation:
- Implemented
- Milestone target:
- 7.0.0
- Started by
- Mike Perez
- Completed by
- John Griffith
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Propose a more generic volume migration approach
Addressed by: https:/
Add support for generic volume migration
Addressed by: https:/
WIP: Add support for generic volume migration
Gerrit topic: https:/