Author: eelco
Date: Thu Mar 31 22:10:26 2011
New Revision: 26644
URL: https://svn.nixos.org/websvn/nix/?rev=26644&sc=1
Log:
* Try to hack around libvirt's stateful use of /etc/libvirt. (Routine
operations such as creating VMs modify the contents of
/etc/libvirt.)
Modified:
nixos/trunk/modules/virtualisation/libvirtd.nix
Modified: nixos/trunk/modules/virtualisation/libvirtd.nix
==============================================================================
--- nixos/trunk/modules/virtualisation/libvirtd.nix Thu Mar 31 22:09:07
2011 (r26643)
+++ nixos/trunk/modules/virtualisation/libvirtd.nix Thu Mar 31 22:10:26
2011 (r26644)
@@ -63,7 +63,24 @@
''
mkdir -p /var/log/libvirt/qemu -m 755
rm -f /var/run/libvirtd.pid
- '';
+
+ mkdir -p /var/lib/libvirt -m 700
+ mkdir -p /var/lib/libvirt/dnsmasq -m 700
+
+ # Libvirt unfortunately writes mutable state (such as
+ # runtime changes to VM, network or filter configurations)
+ # to /etc. So we can't use environment.etc to make the
+ # default network and filter definitions available, since
+ # libvirt will then modify the originals in the Nix store.
+ # So here we copy them instead. Ugly.
+ for i in $(cd ${pkgs.libvirt}/etc && echo \
+ libvirt/qemu/networks/*.xml
libvirt/qemu/networks/autostart/*.xml \
+ libvirt/nwfilter/*.xml );
+ do
+ mkdir -p /etc/$(dirname $i) -m 755
+ cp -fpd ${pkgs.libvirt}/etc/$i /etc/$i
+ done
+ ''; # */
exec = "${pkgs.libvirt}/sbin/libvirtd --daemon --verbose";
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits