From ca92ef7a8d76fd28dcf620df27339d9c6e39609b Mon Sep 17 00:00:00 2001 From: spwhitton@7d7e499ce40ede417d6cf271153a076a7d7e8e67 Date: Thu, 19 Jul 2018 17:45:45 +0000 Subject: post TODO for feedback --- doc/todo/support_for_libvirt_KVM_VMs.mdwn | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 doc/todo/support_for_libvirt_KVM_VMs.mdwn (limited to 'doc/todo') diff --git a/doc/todo/support_for_libvirt_KVM_VMs.mdwn b/doc/todo/support_for_libvirt_KVM_VMs.mdwn new file mode 100644 index 00000000..529cf721 --- /dev/null +++ b/doc/todo/support_for_libvirt_KVM_VMs.mdwn @@ -0,0 +1,27 @@ +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 -- cgit v1.2.3