From b7cc5b7456399020d5945b92d1f52f61a7499760 Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Thu, 25 May 2023 12:00:44 +0200 Subject: [PATCH] test new virtualization service --- glicid/services/virtualization.scm | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 glicid/services/virtualization.scm diff --git a/glicid/services/virtualization.scm b/glicid/services/virtualization.scm new file mode 100644 index 0000000..9b77826 --- /dev/null +++ b/glicid/services/virtualization.scm @@ -0,0 +1,43 @@ +(define-module (glicid services virtualization) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu services virtualization) + #:use-module (gnu packages virtualization)) + + +;;; +;;; QEMU guest agent service. +;;; + + +;; + +;;(define qemu-guest-agent-shepherd-service:gnu (@@ (gnu services virtualization) qemu-guest-agent-shepherd-service)) + +(define (qemu-guest-agent-shepherd-service config) + (let ((qemu (qemu-guest-agent-configuration-qemu config)) + (device (qemu-guest-agent-configuration-device config))) + (list + (shepherd-service + (provision '(qemu-guest-agent)) + (requirement '(udev)) ;; GLiCID + (documentation "Run the QEMU guest agent.") + (start #~(make-forkexec-constructor + `(,(string-append #$qemu "/bin/qemu-ga") + "--statedir" "/var/run" + ,@(if (string-null? #$device) + '() + (list "--path" #$device))) + #:log-file "/var/log/qemu-ga.log")) + (stop #~(make-kill-destructor)))))) + + + +(define glicid-qemu-guest-agent-service-type + (service-type + (name 'qemu-guest-agent) + (extensions + (list (service-extension shepherd-root-service-type + qemu-guest-agent-shepherd-service))) + (default-value (qemu-guest-agent-configuration)) + (description "Run the QEMU guest agent.")))