diff options
| author | Giacomo Leidi <therewasa@fishinthecalculator.me> | 2026-02-17 11:46:46 +0100 |
|---|---|---|
| committer | Giacomo Leidi <therewasa@fishinthecalculator.me> | 2026-03-04 20:18:02 +0100 |
| commit | a375202ad3443e4c3fb492160e32aa6abcc965bd (patch) | |
| tree | 1a23038208e0721302dce8130812bbc3c331cfac /gnu/services | |
| parent | e29c17a2e7c4078e1008f1b1c53097d31759b760 (diff) | |
gnu: libvirt: Configure default libvirt network.
* gnu/services/virtualization.scm (%libvirt-activation): Activate
default libvirt network configuration file.
* gnu/tests/virtualization.scm (run-libvirt-test): Drop network
definition test and replace it with a test checking that the default
network is inactive by default.
Change-Id: I03b6314a390c6d93ebf886d7033867ff5cacad74
Diffstat (limited to 'gnu/services')
| -rw-r--r-- | gnu/services/virtualization.scm | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index fc42dcb8a79..3c9aadaae3f 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2024 Raven Hallsby <karl@hallsby.com> ;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com> +;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -493,10 +494,21 @@ avoid potential infinite waits blocking libvirt.")) (list (user-group (name "libvirt") (system? #t)))) (define (%libvirt-activation config) - (let ((sock-dir (libvirt-configuration-unix-sock-dir config))) + (let ((package (libvirt-configuration-libvirt config)) + (sock-dir (libvirt-configuration-unix-sock-dir config))) #~(begin (use-modules (guix build utils)) - (mkdir-p #$sock-dir)))) + (mkdir-p #$sock-dir) + (mkdir-p "/etc/libvirt/qemu/networks") + ;; special-files-service-type could be used but it creates a file union + ;; and libvirtd needs to write in /etc/libvirt. This makes /etc/libvirt + ;; read-only and libvirt crashes at startup. activate-special-files + ;; creates a single symlink to the store for + ;; /etc/libvirt/qemu/networks/default.xml so libvirt doesn't notice and + ;; starts successfully. + (activate-special-files + '(("/etc/libvirt/qemu/networks/default.xml" + #$(file-append package "/etc/libvirt/qemu/networks/default.xml"))))))) (define (libvirt-shepherd-service config) (let* ((config-file (libvirt-conf-file config)) |
