From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id qCzQBbBBtWCOcQEAgWs5BA (envelope-from ) for ; Mon, 31 May 2021 22:06:08 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id mOwGAbBBtWBKQwAA1q6Kng (envelope-from ) for ; Mon, 31 May 2021 20:06:08 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 490132367F for ; Mon, 31 May 2021 22:06:07 +0200 (CEST) Received: from localhost ([::1]:59222 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lnoAj-00081s-UE for larch@yhetil.org; Mon, 31 May 2021 16:06:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lno9m-00081i-V5 for bug-guix@gnu.org; Mon, 31 May 2021 16:05:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51628) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lno9m-0007B2-NJ for bug-guix@gnu.org; Mon, 31 May 2021 16:05:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lno9m-0006JT-Hh for bug-guix@gnu.org; Mon, 31 May 2021 16:05:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#47956: nfs-root-fs test is failing Resent-From: Stefan Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 31 May 2021 20:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47956 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mathieu Othacehe , Danny Milosavljevic X-Debbugs-Original-Cc: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.162249145024200 (code B ref -1); Mon, 31 May 2021 20:05:02 +0000 Received: (at submit) by debbugs.gnu.org; 31 May 2021 20:04:10 +0000 Received: from localhost ([127.0.0.1]:34941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lno8v-0006IG-Mz for submit@debbugs.gnu.org; Mon, 31 May 2021 16:04:09 -0400 Received: from lists.gnu.org ([209.51.188.17]:46704) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lno8r-0006I6-Ud for submit@debbugs.gnu.org; Mon, 31 May 2021 16:04:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52372) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lno8l-0007vF-R7 for bug-guix@gnu.org; Mon, 31 May 2021 16:04:05 -0400 Received: from smtpout2.vodafonemail.de ([145.253.239.133]:40634) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lno8Z-0006Wo-AC; Mon, 31 May 2021 16:03:59 -0400 Received: from smtp.vodafone.de (smtpa08.fra-mediabeam.com [10.2.0.39]) by smtpout2.vodafonemail.de (Postfix) with ESMTP id 8DD8B121E46; Mon, 31 May 2021 22:03:37 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de; s=vfde-smtpout-mb-15sep; t=1622491417; bh=ZkGVvlYt3LTqhYXjnTiOyjOR9nW/qAWURxt7qwWHFno=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=kOAAcyTNOKeCVEXZ6nbCTw+QPUcQ34u5F4EhGyHBs6sd2+yXzMtsdnqiVzNwCpk4F d56JXXF+B/CgTCCZ/03jY/GAy52vQclydxqixb8Gs2GzD7ru7HYhrVvjVn6lnMINmV fKndaqlVTN4us/eVsAYAR2Yl01AOvCuyusSA2zUc= Received: from macbook-pro.kuh-wiese.my-router.de (dialin-145-254-041-246.pools.arcor-ip.net [145.254.41.246]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.vodafone.de (Postfix) with ESMTPSA id 13CD31405B3; Mon, 31 May 2021 20:03:36 +0000 (UTC) Content-Type: multipart/mixed; boundary="Apple-Mail=_D81083F1-8F26-4103-A5A4-5C3DEC81CC6F" Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) From: Stefan In-Reply-To: <87v98atgpw.fsf@gnu.org> Date: Mon, 31 May 2021 22:03:36 +0200 Message-Id: <2371C9D8-F0DD-40DC-8C1B-45F17122E8AB@vodafonemail.de> References: <87zgxqmzso.fsf@gnu.org> <87v98atgpw.fsf@gnu.org> X-Mailer: Apple Mail (2.3124) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 25275 X-purgate-ID: 155817::1622491417-000006F1-E3A76060/0/0 Received-SPF: pass client-ip=145.253.239.133; envelope-from=stefan-guix@vodafonemail.de; helo=smtpout2.vodafonemail.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 47956@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1622491567; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=ZkGVvlYt3LTqhYXjnTiOyjOR9nW/qAWURxt7qwWHFno=; b=I+xp1bI6rEgBIuqB5fGzOEwKDVv1/NRhGTmHgwdjCKjJVPvkklnuU+b/9g59ohFpJZz7sp 1WhYSL/bUMaeEM9BFTPPFo7GMRac/xpNNRK7WggvHn9rX1xDNKuvYCdmBI8zOuG7VGnvbx om2U4G9YCKVzLCYnkqpCWueC9VZDwBtRX4bVWoIu4Wrd3RxmiTxi4lmeKS1G6cF1SxvsMD LqOchXhZCjsTCzR4TMVVJCnvRCRwZUSHnYju7CmldXPWllKy96m7+2gOCNXLjnUHJMUJU0 wVP/hK44YbFZqbcZzW7Iv4brIwL6SvPOJLbx1Fiq/w774FrUqSTqx2L/NoUCew== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1622491567; a=rsa-sha256; cv=none; b=DLiq8KJdtp8e4Lgg2W1kUNqT/Cxjr4lJxP0PZ/FZbHlyuFVZrDV9kynOLw/un+UCbgJ5jM ailbYnE/Wd3O++SU3e/ewIxY39LPqjJDLh9HwbSDHgiT8VbpcSWc1jamjLM8quH/++EAxj DXdFVdy7kFpt/EhD8BDIDzZXb3zVwa1js9GXHoDiW+0EAUMrNchnsLYnoED4UQAQ2xvb0M 5x5QhaTcKObNN4Fbulk0QkUITlmyZVnxzB89WlV/jPFfNBdfTUabt0JsZc/Oei0f2nRh20 sQaWFFlHZ8df34wFBeayEYprgSZa+JNfnnggBdPzXjKbAw2mCt3NTmRUwtxDwA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=vodafonemail.de header.s=vfde-smtpout-mb-15sep header.b=kOAAcyTN; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Spam-Score: -0.93 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=vodafonemail.de header.s=vfde-smtpout-mb-15sep header.b=kOAAcyTN; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Queue-Id: 490132367F X-Spam-Score: -0.93 X-Migadu-Scanner: scn1.migadu.com X-TUID: sc0pKGCwm45x --Apple-Mail=_D81083F1-8F26-4103-A5A4-5C3DEC81CC6F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi Mathieu and Danny! I got the nfs-root test working now with the attached patch. It makes use of the (modify-linux) function from my other patch = series=C2=B9, as the current kernel for x86 is not capable to use an NFS = root file system. Bye Stefan =C2=B9 --Apple-Mail=_D81083F1-8F26-4103-A5A4-5C3DEC81CC6F Content-Disposition: attachment; filename=nfs-root-for-virtual-machines.patch Content-Type: application/octet-stream; name="nfs-root-for-virtual-machines.patch" Content-Transfer-Encoding: quoted-printable NFS=20root=20for=20virtual=20machines.=0A=0AFrom:=20Stefan=20= =0A=0Agnu:=20system:=20Allow=20a=20root=20= file-system=20over=20NFS=20for=20virtual=20machines.=0Agnu:=20tests:=20= Improve=20the=20test=20for=20a=20root=20file-system=20over=20NFS.=20=20= However,=20the=0Atest=20is=20still=20failing.=0A=0A*=20gnu/system/vm.scm=20= (virtualized-operating-system):=20Allow=20root=20file-systems=0Aover=20= NFS.=0A(system-qemu-image/shared-store-script):=20Respect=20the=20= configured=20root=0Afile-system-device.=0A*=20gnu/tests/nfs.scm=20= (run-nfs-root-fs-test):=20Renamed=20to=20=E2=80=A6=0A= (run-nfs-root-test):=20=E2=80=A6=20this.=20Cleanup=20and=20improvements.=0A= (%test-nfs-root-fs):=20Renamed=20to=20=E2=80=A6=0A(%test-nfs-root):=20= =E2=80=A6=20this.=20Renamed=20the=20test=20from=20"nfs-root-fs"=20to=20= "nfs-root".=0A---=0A=20gnu/system/vm.scm=20|=20=20=2030=20++++++--=0A=20= gnu/tests/nfs.scm=20|=20=20188=20= ++++++++++++++++++++++-------------------------------=0A=202=20files=20= changed,=20100=20insertions(+),=20118=20deletions(-)=0A=0Adiff=20--git=20= a/gnu/system/vm.scm=20b/gnu/system/vm.scm=0Aindex=20= 97adfa12fa..be0a4695f2=20100644=0A---=20a/gnu/system/vm.scm=0A+++=20= b/gnu/system/vm.scm=0A@@=20-608,7=20+608,8=20@@=20environment=20with=20= the=20store=20shared=20with=20the=20host.=20=20MAPPINGS=20is=20a=20list=20= of=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(let=20((target=20= (file-system-mount-point=20fs))=0A=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(source=20(file-system-device=20fs)))=0A=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(or=20(string=3D?=20target=20= (%store-prefix))=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(string=3D?=20target=20"/")=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(and=20(string=3D?=20target=20"/")=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(not=20= (string=3D?=20(file-system-type=20fs)=20"nfs")))=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(and=20(string?=20source)=0A=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (string-prefix?=20"/dev/"=20source))=0A=20=0A@@=20-618,14=20+619,20=20@@=20= environment=20with=20the=20store=20shared=20with=20the=20host.=20=20= MAPPINGS=20is=20a=20list=20of=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(uuid?=20source))))))=0A=20= =20=20=20=20=20=20=20=20=20=20=20=20(operating-system-file-systems=20= os)))=0A=20=0A-=20=20(define=20virtual-file-systems=0A-=20=20=20=20(cons=20= (file-system=0A-=20=20=20=20=20=20=20=20=20=20=20=20(mount-point=20"/")=0A= -=20=20=20=20=20=20=20=20=20=20=20=20(device=20"/dev/vda1")=0A-=20=20=20=20= =20=20=20=20=20=20=20=20(type=20"ext4"))=0A+=20=20(define=20= (add-missing-root-fs=20user-file-systems)=0A+=20=20=20=20(if=20(null?=20= (filter=20(lambda=20(fs)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(string=3D?=20(file-system-mount-point=20= fs)=20"/"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20user-file-systems))=0A+=20=20=20=20=20=20=20=20(cons=20= (file-system=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mount-point=20"/")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (device=20"/dev/vda1")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (type=20"ext4"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= user-file-systems)=0A+=20=20=20=20=20=20=20=20user-file-systems))=0A=20=0A= -=20=20=20=20=20=20=20=20=20=20(append=20(map=20mapping->file-system=20= mappings)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= user-file-systems)))=0A+=20=20(define=20virtual-file-systems=0A+=20=20=20= =20(append=20(map=20mapping->file-system=20mappings)=0A+=20=20=20=20=20=20= =20=20=20=20=20=20(add-missing-root-fs=20user-file-systems)))=0A=20=0A=20= =20=20(operating-system=20(inherit=20os)=0A=20=0A@@=20-754,7=20+761,12=20= @@=20it=20is=20mostly=20useful=20when=20FULL-BOOT?=20=20is=20true."=0A=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20#:disk-image-size=20disk-image-size)))=0A=20=20=20=20= =20(define=20kernel-arguments=0A=20=20=20=20=20=20=20#~(list=20#$@(if=20= graphic?=20#~()=20#~("console=3DttyS0"))=0A-=20=20=20=20=20=20=20=20=20=20= =20=20=20=20#+@(operating-system-kernel-arguments=20os=20"/dev/vda1")))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20= #+@(operating-system-kernel-arguments=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20os=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(file-system-device=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(first=20(filter=20(lambda=20(fs)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(string=3D?=20(file-system-mount-point=20fs)=20"/"))=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(operating-system-file-systems=20os)))))))=0A=20=0A=20=20= =20=20=20(define=20qemu-exec=0A=20=20=20=20=20=20=20#~(list=20= #+(file-append=20qemu=20"/bin/"=0Adiff=20--git=20a/gnu/tests/nfs.scm=20= b/gnu/tests/nfs.scm=0Aindex=209b2b785176..2190e3a715=20100644=0A---=20= a/gnu/tests/nfs.scm=0A+++=20b/gnu/tests/nfs.scm=0A@@=20-27,12=20+27,14=20= @@=0A=20=20=20#:use-module=20(gnu=20bootloader=20grub)=0A=20=20=20= #:use-module=20(gnu=20system)=0A=20=20=20#:use-module=20(gnu=20system=20= file-systems)=0A+=20=20#:use-module=20(gnu=20system=20linux-initrd)=0A=20= =20=20#:use-module=20(gnu=20system=20shadow)=0A=20=20=20#:use-module=20= (gnu=20system=20vm)=0A=20=20=20#:use-module=20(gnu=20services)=0A=20=20=20= #:use-module=20(gnu=20services=20base)=0A=20=20=20#:use-module=20(gnu=20= services=20nfs)=0A=20=20=20#:use-module=20(gnu=20services=20networking)=0A= +=20=20#:use-module=20(gnu=20packages=20linux)=0A=20=20=20#:use-module=20= (gnu=20packages=20onc-rpc)=0A=20=20=20#:use-module=20(gnu=20packages=20= nfs)=0A=20=20=20#:use-module=20(guix=20gexp)=0A@@=20-40,7=20+42,7=20@@=0A= =20=20=20#:use-module=20(guix=20monads)=0A=20=20=20#:export=20(%test-nfs=0A= =20=20=20=20=20=20=20=20=20=20=20=20=20%test-nfs-server=0A-=20=20=20=20=20= =20=20=20=20=20=20=20%test-nfs-root-fs))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20%test-nfs-root))=0A=20=0A=20(define=20%base-os=0A=20=20=20= (operating-system=0A@@=20-265,44=20+267,53=20@@=20directories=20can=20be=20= mounted.")=0A=20=20=20=20(value=20(run-nfs-server-test))))=0A=20=0A=20=0C= =0A-(define=20(run-nfs-root-fs-test)=0A+(define=20(run-nfs-root-test)=0A=20= =20=20"Run=20a=20test=20of=20an=20OS=20mounting=20its=20root=20file=20= system=20via=20NFS."=0A=20=20=20(define=20nfs-root-server-os=0A=20=20=20=20= =20(marionette-operating-system=0A=20=20=20=20=20=20(operating-system=0A=20= =20=20=20=20=20=20=20(inherit=20%nfs-os)=0A=20=20=20=20=20=20=20=20= (services=0A-=20=20=20=20=20=20=20=20=20(modify-services=20= (operating-system-user-services=20%nfs-os)=0A-=20=20=20=20=20=20=20=20=20= =20=20(nfs-service-type=20config=20=3D>=0A-=20=20=20=20=20=20=20=20=20=20= =20=20(nfs-configuration=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= (debug=20'(nfs=20nfsd=20mountd))=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= ;;;=20Note:=20Adding=20the=20following=20line=20causes=20Guix=20to=20= hang.=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20;(rpcmountd-port=20= 20001)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20;;;=20Note:=20Adding=20= the=20following=20line=20causes=20Guix=20to=20hang.=0A-=20=20=20=20=20=20= =20=20=20=20=20=20=20;(rpcstatd-port=2020002)=20;=20FIXME:=20Set=20= broadcast=20port=20AND=20listening=20port.=0A-=20=20=20=20=20=20=20=20=20= =20=20=20=20(nfsd-port=202049)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= (nfs-versions=20'("4.2"))=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= (exports=20'(("/export"=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20= "*(rw,insecure,no_subtree_check,crossmnt,fsid=3Droot,no_root_squash,insecu= re,async)"))))))))=0A+=20=20=20=20=20=20=20=20=20(cons*=0A+=20=20=20=20=20= =20=20=20=20=20(static-networking-service=20"ens3"=20"10.0.0.15"=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20#:netmask=20"255.255.255.0")=0A+=20=20=20=20= =20=20=20=20=20=20(modify-services=20(operating-system-user-services=20= %nfs-os)=0A+=20=20=20=20=20=20=20=20=20=20=20=20(delete=20= dhcp-client-service-type)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= (nfs-service-type=20config=20=3D>=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20(nfs-configuration=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (exports=20'(("/export"=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20= "*(rw,fsid=3D0,async,no_wdelay,no_root_squash,insecure,no_subtree_check,cr= ossmnt)")))))))))=0A=20=20=20=20=20=20#:requirements=20'(nscd)=0A=20=20=20= =20=20=20#:imported-modules=20'((gnu=20services=20herd)=0A=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(guix=20= combinators))))=0A=20=0A=20=20=20(define=20nfs-root-client-os=0A-=20=20=20= =20(marionette-operating-system=0A-=20=20=20=20=20(operating-system=0A-=20= =20=20=20=20=20=20(inherit=20(simple-operating-system=20(service=20= dhcp-client-service-type)))=0A-=20=20=20=20=20=20=20(kernel-arguments=20= '("ip=3Ddhcp"))=0A-=20=20=20=20=20=20=20(file-systems=20(cons=0A-=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(file-system=0A= -=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (type=20"nfs")=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(mount-point=20"/")=0A-=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(device=20":/export")=0A-=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(options=20= "addr=3D127.0.0.1,vers=3D4.2"))=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20%base-file-systems)))=0A-=20=20=20=20=20= #:requirements=20'(nscd)=0A-=20=20=20=20=20#:imported-modules=20'((gnu=20= services=20herd)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(guix=20combinators))))=0A+=20=20=20=20(let=20= ((base-os=20(simple-operating-system=20(service=20= dhcp-client-service-type))))=0A+=20=20=20=20=20=20= (marionette-operating-system=0A+=20=20=20=20=20=20=20(operating-system=0A= +=20=20=20=20=20=20=20=20=20(inherit=20base-os)=0A+=20=20=20=20=20=20=20=20= =20(host-name=20"nfs-client")=0A+=20=20=20=20=20=20=20=20=20(kernel=20= (modify-linux=20#:linux=20(operating-system-kernel=20base-os)=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20#:configs=20'("CONFIG_E1000=3Dy"=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20"CONFIG_ROOT_NFS=3Dy"=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20"CONFIG_NFS_FS=3Dy"=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20"CONFIG_NFS_V4=3Dy")))=0A+=20=20=20=20=20= =20=20=20=20(kernel-arguments=20'("ip=3D10.0.0.16:::255.255.255.0:::off"))= =0A+=20=20=20=20=20=20=20=20=20(file-systems=20(cons=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(file-system=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (type=20"nfs")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(mount-point=20"/")=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(device=20":/")=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (options=20"addr=3D10.0.0.15,vers=3D4"))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20%base-file-systems))=0A+=20=20=20=20= =20=20=20=20=20(services=20(cons*=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(static-networking-service=20"eth0"=20= "10.0.0.16"=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20#:netmask=20"255.255.255.0"=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20#:requirement=20'())=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= %base-services)))=0A+=20=20=20=20=20=20=20#:requirements=20'(nscd)=0A+=20= =20=20=20=20=20=20#:imported-modules=20'((gnu=20services=20herd)=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(guix=20combinators)))))=0A=20=0A=20=20=20(define=20test=0A=20=20=20=20= =20(with-imported-modules=20'((gnu=20build=20marionette))=0A@@=20= -313,102=20+324,61=20@@=20directories=20can=20be=20mounted.")=0A=20=20=20= =20=20=20=20=20=20=20=20(mkdir=20#$output)=0A=20=20=20=20=20=20=20=20=20=20= =20(chdir=20#$output)=0A=20=0A-=20=20=20=20=20=20=20=20=20=20(test-begin=20= "start-nfs-boot-test")=0A-=0A-=20=20=20=20=20=20=20=20=20=20;;;=20Start=20= up=20NFS=20server=20host.=0A+=20=20=20=20=20=20=20=20=20=20(test-begin=20= "start=20nfs-root=20server")=0A=20=0A=20=20=20=20=20=20=20=20=20=20=20= (mkdir=20"/tmp/server")=0A=20=20=20=20=20=20=20=20=20=20=20(define=20= server-marionette=0A-=20=20=20=20=20=20=20=20=20=20=20=20= (make-marionette=20(list=20#$(virtual-machine=0A-=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20nfs-root-server-os=0A-=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20;(operating-system=20nfs-root-server-os)=0A-=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20;(port-forwardings=20'(=20;=20(111=20.=20111)=0A-=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(2049=20.=202049)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= ;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(20001=20.=20= 20001)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(20002=20.=2020002)))=0A-))=0A-=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20#:socket-directory=20"/tmp/server"))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20(make-marionette=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (cons*=20#$(virtual-machine=20nfs-root-server-os)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20'("-nic"=20= "socket,listen=3D127.0.0.1:37915,model=3De1000,mac=3D52:54:98:76:54:32"))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20#:socket-directory=20= "/tmp/server"))=0A=20=0A-=20=20=20=20=20=20=20=20=20=20(marionette-eval=0A= -=20=20=20=20=20=20=20=20=20=20=20'(begin=0A-=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(use-modules=20(gnu=20services=20herd))=0A-=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(current-output-port=0A-=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(open-file=20"/dev/console"=20"w0"))=0A-=20=20=20=20=20= =20=20=20=20=20=20=20=20=20;;=20FIXME:=20Instead=20statfs=20"/"=20and=20= "/export"=20and=20wait=20until=20they=0A-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20;;=20are=20different=20file=20systems.=20=20But=20Guile=20= doesn't=20seem=20to=20have=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= ;;=20statfs.=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20(sleep=205)=0A= -=20=20=20=20=20=20=20=20=20=20=20=20=20=20(chmod=20"/export"=20#o777)=0A= -=20=20=20=20=20=20=20=20=20=20=20=20=20=20(symlink=20"/gnu"=20= "/export/gnu")=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (start-service=20'nscd)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (start-service=20'networking)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (start-service=20'nfs))=0A-=20=20=20=20=20=20=20=20=20=20=20= server-marionette)=0A-=0A-=20=20=20=20=20=20=20=20=20=20;;;=20Wait=20for=20= the=20NFS=20services=20to=20be=20up=20and=20running.=0A+=20=20=20=20=20=20= =20=20=20=20(test-assert=20"nfs-root=20server=20boots"=0A+=20=20=20=20=20= =20=20=20=20=20=20=20(marionette-eval=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20'(begin=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (use-modules=20(gnu=20services=20herd))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(current-output-port=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(open-file=20"/dev/console"=20"w0"))=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(chmod=20"/export"=20#o777)=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(mkdir-p=20"/export/var/run")=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(mkdir-p=20"/export/run")=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(call-with-output-file=20= "/export/run/hello"=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(lambda=20(port)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(display=20"Hello,=20World!"=20port)))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(and=20(start-service=20'networking)=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(start-service=20= 'nscd)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (start-service=20'nfs)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= server-marionette))=0A=20=0A=20=20=20=20=20=20=20=20=20=20=20= (test-assert=20"nfs=20services=20are=20running"=0A-=20=20=20=20=20=20=20=20= =20=20=20(wait-for-file=20"/var/run/rpc.statd.pid"=20server-marionette))=0A= -=0A-=20=20=20=20=20=20=20=20=20=20(test-assert=20"NFS=20port=20is=20= ready"=0A-=20=20=20=20=20=20=20=20=20=20=20=20(wait-for-tcp-port=202049=20= server-marionette))=0A+=20=20=20=20=20=20=20=20=20=20=20=20(and=20= (wait-for-file=20"/var/run/rpc.statd.pid"=20server-marionette)=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(marionette-eval=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20'(zero?=20(system*=20= (string-append=20#$nfs-utils=20"/sbin/showmount")=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20"-e"=20"nfs-server"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20server-marionette)))=0A=20=0A-=20=20=20=20=20=20=20=20=20=20= (test-assert=20"NFS=20statd=20port=20is=20ready"=0A-=20=20=20=20=20=20=20= =20=20=20=20=20(wait-for-tcp-port=2020002=20server-marionette))=0A-=0A-=20= =20=20=20=20=20=20=20=20=20(test-assert=20"NFS=20mountd=20port=20is=20= ready"=0A-=20=20=20=20=20=20=20=20=20=20=20=20(wait-for-tcp-port=2020001=20= server-marionette))=0A-=0A-=20=20=20=20=20=20=20=20=20=20;;;=20FIXME:=20= (test-assert=20"NFS=20portmapper=20port=20is=20ready"=0A-=20=20=20=20=20=20= =20=20=20=20;;;=20FIXME:=20=20(wait-for-tcp-port=20111=20= server-marionette))=0A+=20=20=20=20=20=20=20=20=20=20(test-end)=0A=20=0A= -=20=20=20=20=20=20=20=20=20=20;;;=20Start=20up=20NFS=20client=20host.=0A= +=20=20=20=20=20=20=20=20=20=20(test-begin=20"start=20nfs-root=20= client")=0A=20=0A+=20=20=20=20=20=20=20=20=20=20(mkdir=20"/tmp/client")=0A= =20=20=20=20=20=20=20=20=20=20=20(define=20client-marionette=0A-=20=20=20= =20=20=20=20=20=20=20=20=20(make-marionette=20(list=20#$(virtual-machine=0A= -=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20nfs-root-client-os=0A-=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20;(port-forwardings=20'((111=20.=20111)=0A-=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20;=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(2049=20.=202049)=0A-=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20;=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (20001=20.=2020001)=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(20002=20.=2020002)))=0A= -=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20))))=0A-=0A-=20=20=20=20=20=20=20=20=20=20= (marionette-eval=0A-=20=20=20=20=20=20=20=20=20=20=20'(begin=0A-=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(use-modules=20(gnu=20services=20herd))=0A= -=20=20=20=20=20=20=20=20=20=20=20=20=20=20(use-modules=20(rnrs=20io=20= ports))=0A-=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (current-output-port=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (open-file=20"/dev/console"=20"w0"))=0A-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(let=20((content=20(call-with-input-file=20"/proc/mounts"=20= get-string-all)))=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (call-with-output-file=20"/mounts.new"=0A-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(lambda=20(port)=0A-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(display=20content=20port))))=0A-=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(chmod=20"/mounts.new"=20#o777)=0A-=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(rename-file=20"/mounts.new"=20"/mounts"))=0A= -=20=20=20=20=20=20=20=20=20=20=20client-marionette)=0A-=0A-=20=20=20=20=20= =20=20=20=20=20(test-assert=20"nfs-root-client=20booted")=0A-=0A-=20=20=20= =20=20=20=20=20=20=20;;;=20Check=20whether=20NFS=20client=20host=20= communicated=20with=20NFS=20server=20host.=0A+=20=20=20=20=20=20=20=20=20= =20=20=20(make-marionette=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (cons*=20#$(virtual-machine=20nfs-root-client-os)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20'("-nic"=20= "socket,connect=3D127.0.0.1:37915,model=3De1000,mac=3D52:54:98:76:54:33"))= =0A+=20=20=20=20=20=20=20=20=20=20=20=20=20#:socket-directory=20= "/tmp/client"))=0A=20=0A-=20=20=20=20=20=20=20=20=20=20(test-assert=20= "nfs=20client=20deposited=20file"=0A-=20=20=20=20=20=20=20=20=20=20=20= (wait-for-file=20"/export/mounts"=20server-marionette))=0A-=20=20=20=20=20= =20=20=20=20=20(marionette-eval=0A-=20=20=20=20=20=20=20=20=20=20=20= '(begin=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (current-output-port=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (open-file=20"/dev/console"=20"w0"))=0A-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(call-with-input-file=20"/export/mounts"=20display))=0A-=20=20=20= =20=20=20=20=20=20=20=20server-marionette)=0A+=20=20=20=20=20=20=20=20=20= =20(test-assert=20"wait=20nfs-root=20client=20booted=20and=20sees=20= hello=20file"=0A+=20=20=20=20=20=20=20=20=20=20=20=20(wait-for-file=20= "/run/hello"=20client-marionette))=0A=20=0A=20=20=20=20=20=20=20=20=20=20= =20(test-end)=0A=20=20=20=20=20=20=20=20=20=20=20(exit=20(=3D=20= (test-runner-fail-count=20(test-runner-current))=200)))))=0A=20=0A-=20=20= (gexp->derivation=20"nfs-root-fs-test"=20test))=0A+=20=20= (gexp->derivation=20"nfs-root-test"=20test))=0A=20=0A-(define=20= %test-nfs-root-fs=0A+(define=20%test-nfs-root=0A=20=20=20(system-test=0A= -=20=20=20(name=20"nfs-root-fs")=0A+=20=20=20(name=20"nfs-root")=0A=20=20= =20=20(description=20"Test=20that=20an=20NFS=20server=20can=20be=20= started=20and=20the=20exported=0A-directory=20can=20be=20used=20as=20= root=20file=20system.")=0A-=20=20=20(value=20(run-nfs-root-fs-test))))=0A= +directory=20can=20be=20used=20as=20root=20file=20system=20of=20an=20NFS=20= client.")=0A+=20=20=20(value=20(run-nfs-root-test))))=0A= --Apple-Mail=_D81083F1-8F26-4103-A5A4-5C3DEC81CC6F--