Add image capability to Libvirt/KVM provider
I think that being able to provision a new VM without waiting for
kickstart / preseed installation time is awesome.
We should add the ability to clone a "base image" and use it
as a root system for new vms.
#1 Updated by Dominic Cleal over 5 years ago
- Status changed from New to Assigned
- Assignee set to Dominic Cleal
I've got a working branch here: https://github.com/domcleal/foreman/tree/4123-libvirt-imaging
Waiting on fog 1.20 (to be released this week) which contains an enabling feature for backing volume support.
The feature works by registering an image to the libvirt compute resource, where the "ID" is the full path to a backing volume on the filesystem (e.g. /var/lib/libvirt/images/centos64.qcow2). Foreman then creates the new host's volume referencing this original qcow2 as a backing volume, so you get a copy on write setup. Since libvirt doesn't provide user data or ways to get SSH keys in, it also relies on a username/password embedded in the image in the same way as the (about to be merged) oVirt imaging support.
We might later be able to add user data support by using a separate disk for cloud-init to read (see Rich Jones' blog).