Hello! Marius Bakke skribis: > * gnu/services/virtualization.scm (, > , , > , , > , ), > , , > , , , > , ): New record types. > (%default-ganeti-environment-variables, ganeti-noded-service, > ganeti-noded-service-type, ganeti-confd-service, ganeti-confd-service-type, > ganeti-wconfd-service, ganeti-wconfd-service-type, ganeti-luxid-service, > ganeti-luxid-service-type, ganeti-rapi-service, ganeti-rapi-service-type, > ganeti-kvmd-service, ganeti-kvmd-service-type, ganeti-mond-service, > ganeti-mond-service-type, ganeti-metad-service, ganeti-metad-service-type, > ganeti-watcher-command, ganeti-watcher-jobs, ganeti-watcher-service-type, > ganeti-cleaner-jobs, ganeti-cleaner-service-type, ganeti-activation, > ganeti-shepherd-services, ganeti-mcron-jobs, ganeti-service-type, > hooks->directory, debootstrap-configuration-compiler, debootstrap-variant, > ganeti-os-variant->configuration, ganeti-os->directory, ganeti-directory, > file-storage-file, ganeti-etc-service, ganeti-service-type): New variables. > * gnu/tests/virtualization.scm (%debootstrap-hooks, %ganeti-os, > run-ganeti-test, %test-ganeti-kvm, %test-ganeti-lxc): New variables. > * doc/guix.texi (Virtualization Services): Document accordingly. Since it’s a big chunk, perhaps it could live in (gnu services ganeti)? > +Ganeti is a cluster-based virtual machine management system. It consists ^ Maybe add one more sentence to give an idea of what it does or what features it provides. > +of multiple services which are described later in this section. In addition > +to the Ganeti service, you will need the OpenSSH service > +(@pxref{Networking Services, @code{openssh-service-type}}), and update the > +@file{/etc/hosts} file (@pxref{operating-system Reference, @code{hosts-file}}) > +with the cluster name and address (or use a DNS server). Here is an example > +configuration for a Ganeti cluster node: ^ Add “that does X and Y”, or “with X nodes running Y”, something like that. :-) > +There is also a > +@url{https://guix.gnu.org/blog/2020/ganeti-cluster-on-guix/,blog post} > +describing how to configure a small cluster. It’d be great to see if part of the examples in the post (which I haven’t read yet) can be folded in the manual. > +@table @asis > +@item @code{ganeti} (default: @code{ganeti}) > +The @code{ganeti} package to use. It will be installed to the system profile > +and make @command{gnt-cluster}, @command{gnt-instance}, etc available. Note > +that the value specified here does not affect the other services as each refer > +to a specific @code{ganeti} package (see below). > + > +@item @code{noded-configuration} (default: @code{(ganeti-noded-configuration)}) > +@item @code{confd-configuration} (default: @code{(ganeti-confd-configuration)}) > +@item @code{wconfd-configuration} (default: @code{(ganeti-wconfd-configuration)}) > +@item @code{luxid-configuration} (default: @code{(ganeti-luxid-configuration)}) > +@item @code{rapi-configuration} (default: @code{(ganeti-rapi-configuration)}) > +@item @code{kvmd-configuration} (default: @code{(ganeti-kvmd-configuration)}) > +@item @code{mond-configuration} (default: @code{(ganeti-mond-configuration)}) > +@item @code{watcher-configuration} (default: @code{(ganeti-watcher-configuration)}) > +@item @code{cleaner-configuration} (default: @code{(ganeti-cleaner-configuration)}) You need @itemx for all but the first one. Anyway, that looks very nice! Ludo’.