I've been thinking about how to add support for libvirt VMs to propellor. TTBOMK setting up the VMs is a matter of creating some files in /etc, so that part is straightforward; might not want very much abstraction in propellor at all. The interesting part is creating the corresponding disk images. I first thought that I could just extend propellor's existing support for generating disk images by debootstrapping in a chroot and then generating an image based on that chroot. It would just be a matter of using `.qcow2` images rather than `.img`. But the problem with this is that once the VM is in use, propellor should not just be overwriting the `.qcow2` file. So something different is needed. What I have in mind is a conditional property that works something like this: ifM ( doesFileExist "/path/to/image.qcow2" , debootstrapTheChrootAndPackIntoQcow2File theHost , conducts [theHost] `requires` KVM.booted theHost ) where `theHost :: Host` and either the user's libvirt config or some property somewhere ensures it can be SSHed to from localhost. Does this seem like the right approach? --spwhitton