Efficient image cloning implementation in NetApp nfs drivers

Registered by Navneet on 2013-07-16

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:
milestone icon 2013.2
Started by
Navneet on 2013-08-01
Completed by
John Griffith on 2013-09-23

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.