mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
services: Add xen-guest-agent-service-type.
* gnu/services/virtualization.scm (xen-guest-agent-configuration, xen-guest-agent-service-type): New variables. * doc/guix.texi: Document them. Change-Id: Id1b1f4fc2b193d73f4401e74a214222dfe1b6ea7 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
a036a455da
commit
8d7578ba6c
2 changed files with 57 additions and 1 deletions
|
@ -38175,6 +38175,30 @@ Name of the @code{xe-guest-utilities} log file.
|
||||||
@end table
|
@end table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
|
@code{xe-guest-utilities} is the standard guest utilities used for Xen
|
||||||
|
guests. More recently the Xen Project has been working to develop
|
||||||
|
@code{xen-guest-agent}, a modern drop-in replacement for
|
||||||
|
@code{xe-guest-utilities}. While they nearly have feature-parity,
|
||||||
|
@code{xen-guest-agent} currently lacks some of the features of its
|
||||||
|
predecessor, namely disk metrics and ``PV drivers version''.
|
||||||
|
|
||||||
|
@defvar xen-guest-agent-service-type
|
||||||
|
Service type for the Xen guest agent service.
|
||||||
|
@end defvar
|
||||||
|
|
||||||
|
@deftp {Data Type} xen-guest-agent-configuration
|
||||||
|
Configuration for the @code{xen-guest-agent} service.
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{package} (default: @code{xen-guest-agent})
|
||||||
|
The Xen guest agent package to use.
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
|
@quotation Warning
|
||||||
|
@code{xe-guest-utilities} and @code{xen-guest-agent} are mutually exclusive.
|
||||||
|
@end quotation
|
||||||
|
|
||||||
|
|
||||||
@anchor{build-vm}
|
@anchor{build-vm}
|
||||||
@subsubheading Virtual Build Machines
|
@subsubheading Virtual Build Machines
|
||||||
|
|
|
@ -113,7 +113,9 @@
|
||||||
qemu-guest-agent-service-type
|
qemu-guest-agent-service-type
|
||||||
|
|
||||||
xe-guest-utilities-configuration
|
xe-guest-utilities-configuration
|
||||||
xe-guest-utilities-service-type))
|
xe-guest-utilities-service-type
|
||||||
|
xen-guest-agent-configuration
|
||||||
|
xen-guest-agent-service-type))
|
||||||
|
|
||||||
(define (uglify-field-name field-name)
|
(define (uglify-field-name field-name)
|
||||||
(let ((str (symbol->string field-name)))
|
(let ((str (symbol->string field-name)))
|
||||||
|
@ -1083,6 +1085,36 @@ specified, the QEMU default path is used."))
|
||||||
(default-value (xe-guest-utilities-configuration))
|
(default-value (xe-guest-utilities-configuration))
|
||||||
(description "Run the Xen guest management utilities.")))
|
(description "Run the Xen guest management utilities.")))
|
||||||
|
|
||||||
|
(define-configuration/no-serialization xen-guest-agent-configuration
|
||||||
|
(package
|
||||||
|
(package xen-guest-agent)
|
||||||
|
"Xen guest agent package."))
|
||||||
|
|
||||||
|
(define (generate-xen-guest-agent-documentation)
|
||||||
|
"Generate documentation for xen-guest-agent-configuration fields"
|
||||||
|
(generate-documentation
|
||||||
|
`((xen-guest-agent-configuration ,xen-guest-agent-configuration-fields))
|
||||||
|
'xen-guest-agent-configuration))
|
||||||
|
|
||||||
|
(define (xen-guest-agent-shepherd-service config)
|
||||||
|
(list
|
||||||
|
(shepherd-service
|
||||||
|
(provision '(xen-guest-agent))
|
||||||
|
(requirement '(networking user-processes udev))
|
||||||
|
(documentation "Run the Xen guest management agent.")
|
||||||
|
(start #~(make-forkexec-constructor
|
||||||
|
(list #$(file-append xen-guest-agent "/bin/xen-guest-agent"))))
|
||||||
|
(stop #~(make-kill-destructor)))))
|
||||||
|
|
||||||
|
(define xen-guest-agent-service-type
|
||||||
|
(service-type
|
||||||
|
(name 'xen-guest-agent)
|
||||||
|
(extensions
|
||||||
|
(list (service-extension shepherd-root-service-type
|
||||||
|
xen-guest-agent-shepherd-service)))
|
||||||
|
(default-value (xen-guest-agent-configuration))
|
||||||
|
(description "Run the Xen guest management utilities.")))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Secrets for guest VMs.
|
;;; Secrets for guest VMs.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue