summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorspwhitton@7d7e499ce40ede417d6cf271153a076a7d7e8e672018-07-19 17:45:45 +0000
committeradmin2018-07-19 17:45:45 +0000
commitca92ef7a8d76fd28dcf620df27339d9c6e39609b (patch)
treee7448b1fa542b790f12fe82f7ee61afe73823cb2 /doc
parentece3849c9df1acc48a40c9d3d2e627fb9f33a8e0 (diff)
post TODO for feedback
Diffstat (limited to 'doc')
-rw-r--r--doc/todo/support_for_libvirt_KVM_VMs.mdwn27
1 files changed, 27 insertions, 0 deletions
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