VMBuilder multiple targets

Registered by Soren Hansen

A critical requirement for supporting portability between clouds is access to identical images across the different target clouds.
To make this (and many other things) possible, VMBuilder's work will be split into a number of discrete stages, so that it can stop at any stage and resume at any stage. Example: After the basic filesystem has been installed, users have been set up, networking has been configured, database and webserver have been installed, a tarball can be delivered, and processing can stop. This tarball can then be turned into an image for KVM (by adding a kernel, a bootloader, turning it into a disk image, and finally converting to e.g. a qcow2 file) and EC2 (by adding kernel modules, ec2-init, and turning it into a filesystem image).

Blueprint information

Jos Boumans
Soren Hansen
Soren Hansen
Series goal:
Accepted for lucid
Milestone target:
milestone icon lucid-alpha-3
Started by
Soren Hansen
Completed by
Soren Hansen

Related branches



Secondary Engineer: smoser

jib review 2009-12-18 Can you add the link to the wikispec please, and either add in the blueprint or point to the results of the action items that are marked as 'done'. There should probably be a work item for triaging existing bugs & work items for those bugs that we choose to target.

jib review 2010-1-13: Before proceeding on this spec, bug triaging *must* be done

on track

Work items:
 * Triage and fix relevant bugs for VMBuilder in Lucid: DONE
 * Define actionable steps in VMBuilder: DONE
 * Move "action" code from VM object into plugins: DONE
 * Bridge the last few gaps (fix kernel installs, and cleaning): DONE
 * Make it possible to terminate cleanly at any stage (of particular interest: after debootstrap+user+network+apps): DONE
 * Make it possible to start at any stage (of particular interest: take an existing directory structure and apply hypervisor specific changes to it): DONE


Work Items

This blueprint contains Public information 
Everyone can see this information.