Efficient image cloning implementation in NetApp nfs drivers
Cinder provides an option for specifying image-id as a parameter while creating a volume. This is used to first check if image cloning can be performed and if not than fallback to copy image to volume. NetApp drivers right now do not implement clone_image method and hence the functionality falls back to copying image to volume. NetApp would like to add implementation for clone_image in the nfs drivers which would provide ways to efficiently clone image using following workflows:-
1. In cases of glance backed by nfs store, cinder can get the actual nfs path for image and clone image directly in case its present on the same nfs share as being used by the nfs driver on cinder.
2. The nfs driver will also maintain an internal image cache on the nfs shares which would be used to provide cloned images in case the nfs store used by glance is different than that used by the nfs driver on cinder. These image copies residing on image cache would be cloned copies of actual images downloaded which will be internally maintained by the driver on nfs share and not registered on any OpenStack related infrastructure. The sole purpose of image-cache is to provide source for efficient image cloning.
The image cache will be cleaned up in regular intervals in case of shares lacking space based on outdated,older images which occupy sufficient space. This will be a asynchronous job which will not interfere with regular driver functionality.
Blueprint information
- Status:
- Complete
- Approver:
- John Griffith
- Priority:
- Medium
- Drafter:
- Navneet
- Direction:
- Approved
- Assignee:
- Navneet
- Definition:
- Approved
- Series goal:
- Accepted for havana
- Implementation:
- Implemented
- Milestone target:
- 2013.2
- Started by
- Navneet
- Completed by
- John Griffith
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
NetApp NFS efficient clone_image impl.
Gerrit topic: https:/