[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/07: services: ganeti: Add support for cluster hooks.
From: |
guix-commits |
Subject: |
01/07: services: ganeti: Add support for cluster hooks. |
Date: |
Sat, 17 Dec 2022 11:09:31 -0500 (EST) |
mbakke pushed a commit to branch master
in repository guix.
commit 88908c6edce845b8737a18dda415f162d699384a
Author: Marius Bakke <marius@gnu.org>
AuthorDate: Wed Dec 14 20:43:38 2022 +0100
services: ganeti: Add support for cluster hooks.
* gnu/services/ganeti.scm (<ganeti-configuration>): Add HOOKS.
(hooks->directory): Rename to ...
(debootstrap-hooks->directory): ... this, for clarity.
(debootstrap-configuration-compiler): Adjust accordingly.
(ganeti-directory): Add HOOKS when set.
(ganeti-etc-service): Pass HOOKS.
* doc/guix.texi (Virtualization Services): Mention it.
---
doc/guix.texi | 4 ++++
gnu/services/ganeti.scm | 14 ++++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 5cb5ae1dfe..eb37d4d393 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34249,6 +34249,10 @@ To override a setting, you must use the configuration
type for that service:
@item @code{file-storage-paths} (default: @code{'()})
List of allowed directories for file storage backend.
+@item @code{hooks} (default: @code{#f})
+When set, this should be a file-like object containing a directory with
+@url{https://docs.ganeti.org/docs/ganeti/3.0/html/hooks.html,cluster execution
hooks}.
+
@item @code{os} (default: @code{%default-ganeti-os})
List of @code{<ganeti-os>} records.
@end table
diff --git a/gnu/services/ganeti.scm b/gnu/services/ganeti.scm
index d9770b1a29..f8127e8721 100644
--- a/gnu/services/ganeti.scm
+++ b/gnu/services/ganeti.scm
@@ -777,6 +777,8 @@ than 21 days from @file{/var/lib/ganeti/queue/archive}.")))
(default (ganeti-cleaner-configuration)))
(file-storage-paths ganeti-configuration-file-storage-paths ;list of
strings | gexp
(default '()))
+ (hooks ganeti-configuration-hooks ;<file-like> | #f
+ (default #f))
(os ganeti-configuration-os ;list of <ganeti-os>
(default '())))
@@ -910,7 +912,7 @@ trap - EXIT
(partition-alignment debootstrap-configuration-partition-alignment ;#f |
integer
(default 2048)))
-(define (hooks->directory hooks)
+(define (debootstrap-hooks->directory hooks)
(match hooks
((? file-like?)
hooks)
@@ -918,7 +920,7 @@ trap - EXIT
(let ((names (map car hooks))
(files (map cdr hooks)))
(with-imported-modules '((guix build utils))
- (computed-file "hooks-union"
+ (computed-file "debootstrap-hooks"
#~(begin
(use-modules (guix build utils)
(ice-9 match))
@@ -942,7 +944,7 @@ trap - EXIT
(($ <debootstrap-configuration> hooks proxy mirror arch suite extra-pkgs
components generate-cache? clean-cache
partition-style partition-alignment)
- (let ((customize-dir (hooks->directory hooks)))
+ (let ((customize-dir (debootstrap-hooks->directory hooks)))
(gexp->derivation
"debootstrap-variant"
#~(call-with-output-file (ungexp output "out")
@@ -1034,7 +1036,7 @@ in /etc/ganeti/instance-$os for OS."
(computed-file (string-append name "-os") builder
#:local-build? #t)))
-(define (ganeti-directory file-storage-file os)
+(define (ganeti-directory file-storage-file hooks os)
(let ((dirs (map ganeti-os->directory os))
(names (map ganeti-os-name os)))
(define builder
@@ -1044,6 +1046,9 @@ in /etc/ganeti/instance-$os for OS."
(when #$file-storage-file
(symlink #$file-storage-file
(string-append #$output "/file-storage-paths")))
+ (when #$hooks
+ (symlink #$hooks
+ (string-append #$output "/hooks")))
(for-each (match-lambda
((name dest)
(symlink dest
@@ -1063,6 +1068,7 @@ in /etc/ganeti/instance-$os for OS."
(list `("ganeti" ,(ganeti-directory
(file-storage-file
(ganeti-configuration-file-storage-paths config))
+ (ganeti-configuration-hooks config)
(ganeti-configuration-os config)))))
(define (debootstrap-os variants)
- branch master updated (491bddfa27 -> 810b455013), guix-commits, 2022/12/17
- 02/07: activation: Firmware activation handles missing support in kernel., guix-commits, 2022/12/17
- 07/07: gnu: QEMU: Update to 7.2.0., guix-commits, 2022/12/17
- 01/07: services: ganeti: Add support for cluster hooks.,
guix-commits <=
- 03/07: gnu: ungoogled-chromium: Update to 108.0.5359.124-1., guix-commits, 2022/12/17
- 04/07: gnu: SeaBIOS: Update to 1.16.1., guix-commits, 2022/12/17
- 05/07: gnu: SeaBIOS: Build verbosely., guix-commits, 2022/12/17
- 06/07: gnu: SeaBIOS: Simplify build., guix-commits, 2022/12/17