summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-09-16 18:29:23 +0200
committerLudovic Courtès <ludo@gnu.org>2023-10-01 22:58:19 +0200
commitbab6434f5855b92631615fdd8a2d2a225da28359 (patch)
tree5240069df24f0216129de06f76baf5ef673ed184
parent416933cde5b4e45a0e3214f2713cfe3974b07fb8 (diff)
downloadguix-bab6434f5855b92631615fdd8a2d2a225da28359.tar.gz
services: hurd-vm: ‘image’ field has to be an <image> record.
* gnu/services/virtualization.scm (<hurd-vm-configuration>)[image]:
Document as being an <image> record.
(hurd-vm-disk-image): Remove call to ‘system-image’.
(hurd-vm-shepherd-service): Add call to ‘system-image’.
* gnu/tests/virtualization.scm (hurd-vm-disk-image-raw): Remove call to
‘system-image’.
* doc/guix.texi (Virtualization Services): Adjust accordingly.
-rw-r--r--doc/guix.texi4
-rw-r--r--gnu/services/virtualization.scm9
-rw-r--r--gnu/tests/virtualization.scm11
3 files changed, 11 insertions, 13 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 103f6b4c64..1869b59ef6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -35770,8 +35770,8 @@ permissive OpenSSH secure shell daemon listening on port 2222
 The QEMU package to use.
 
 @item @code{image} (default: @var{hurd-vm-disk-image})
-The procedure used to build the disk-image built from this
-configuration.
+The image object representing the disk image of this virtual machine
+(@pxref{System Images}).
 
 @item @code{disk-size} (default: @code{'guess})
 The size of the disk image.
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index ca000f5d28..258b503461 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -1101,7 +1101,7 @@ that will be listening to receive secret keys on port 1004, TCP."
                (default %hurd-vm-operating-system))
   (qemu        hurd-vm-configuration-qemu               ;file-like
                (default qemu-minimal))
-  (image       hurd-vm-configuration-image              ;string
+  (image       hurd-vm-configuration-image              ;<image>
                (thunked)
                (default (hurd-vm-disk-image this-record)))
   (disk-size   hurd-vm-configuration-disk-size          ;number or 'guess
@@ -1126,9 +1126,8 @@ is added to the OS specified in CONFIG."
          (disk-size (hurd-vm-configuration-disk-size config))
          (type      (lookup-image-type-by-name 'hurd-qcow2))
          (os->image (image-type-constructor type)))
-    (system-image
-     (image (inherit (os->image os))
-            (size disk-size)))))
+    (image (inherit (os->image os))
+           (size disk-size))))
 
 (define (hurd-vm-port config base)
   "Return the forwarded vm port for this childhurd config."
@@ -1170,7 +1169,7 @@ is added to the OS specified in CONFIG."
                       "-m" (number->string #$memory-size)
                       #$@net-options
                       #$@options
-                      "--hda" #+image
+                      "--hda" #+(system-image image)
 
                       ;; Cause the service to be respawned if the guest
                       ;; reboots (it can reboot for instance if it did not
diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm
index 73c8099b79..41253968e9 100644
--- a/gnu/tests/virtualization.scm
+++ b/gnu/tests/virtualization.scm
@@ -230,12 +230,11 @@
   (let ((os ((@@ (gnu services virtualization) secret-service-operating-system)
              (hurd-vm-configuration-os config)))
         (disk-size (hurd-vm-configuration-disk-size config)))
-    (system-image
-     (image
-      (inherit hurd-disk-image)
-      (format 'disk-image)
-      (size disk-size)
-      (operating-system os)))))
+    (image
+     (inherit hurd-disk-image)
+     (format 'disk-image)
+     (size disk-size)
+     (operating-system os))))
 
 (define %childhurd-os
   (simple-operating-system