mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-04-29 21:58:36 +02:00
test new virtualization service
This commit is contained in:
parent
81c0ae0f9e
commit
b7cc5b7456
1 changed files with 43 additions and 0 deletions
43
glicid/services/virtualization.scm
Normal file
43
glicid/services/virtualization.scm
Normal file
|
@ -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.")))
|
Loading…
Add table
Reference in a new issue