Using more effective way to prepare template/base image
In current VM provisioning implementation within nova-compute, if a VM's template/base image does not been cached yet in local (in '_base' folder by default) then nova-compute need download the image to compute node local firstly, it will be cached as a reusable template/base image. After that, VM's disk/image will be created base on it.
Currently, template/base image preparing can only use downloading method, nova-compute need copy each bits of the image to local from glance store via API. The copy is not good for performance so I'd like give a option to nova-compute and allow user to ask nova-compute use an alternative way to prepare template/base image with more performance:
1. 'downloading' way, just like 'old way', nova-compute use glance API to copy each bits of the image to local.
2. 'volume-
For implementation plan as following:
1. Adding a option to nova.confi: "template_
2. Extract a base class, and adding two particular implementation.
|-> DownloadingTemp
|-> VolumeLinkingTe
The class has 3 key interface methods:
i. init(): re-prepare base image if needed after nova-compute restarted.
ii. fetch_image(): prepare base image.
iii. remove_image(): remove unused base image from templement folder ('_base' by default).
Blueprint information
- Status:
- Not started
- Approver:
- Russell Bryant
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Zhi Yan Liu
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
- Not started
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Marking this blueprint as definition: Drafting. If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)
Work Items
Dependency tree
* Blueprints in grey have been implemented.