Hi,
 
well, being conform to opentack would be great i guess. I will try to take a look on this.

As a quick and dirty solution we could just use libvirt to clone a default system and trigger a puppet run which set what we needed for this machine. If someone is in the mood to discuss a solution i am in the irc all day long

Regards

 
This is a very common use case, in fact, Amazon Web Services has been doing things like this for years, and Openstack does very similar things (for distros supported on Openstack).
 
IMHO we should look at a tool similar to debootstrap/febootstrap that we can use for Openstack and/or ovirt.
 
Maybe drakx-in-chroot/draklive would do, but the Openstack tools should give us some means for users to access the functionality, as well as APIs that can be called by other automated systems.