From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 0C0dCPqELWKc8wAAgWs5BA (envelope-from ) for ; Sun, 13 Mar 2022 06:45:30 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id uMH3APqELWJsYgAAG6o9tA (envelope-from ) for ; Sun, 13 Mar 2022 06:45:30 +0100 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 8908A37FF2 for ; Sun, 13 Mar 2022 06:45:29 +0100 (CET) Received: from localhost ([::1]:42130 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nTH2m-0005E2-MK for larch@yhetil.org; Sun, 13 Mar 2022 00:45:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48908) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nTH2O-0005Ce-9H for guix-patches@gnu.org; Sun, 13 Mar 2022 00:45:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:47521) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nTH2O-0007Yk-0d for guix-patches@gnu.org; Sun, 13 Mar 2022 00:45:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nTH2N-0007sS-VR for guix-patches@gnu.org; Sun, 13 Mar 2022 00:45:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#54368] [PATCH 4/4] tests: install: Add two new Btrfs RAID10 install test. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 13 Mar 2022 05:45:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54368 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 54368@debbugs.gnu.org Cc: Maxim Cournoyer Received: via spool by 54368-submit@debbugs.gnu.org id=B54368.164715029930229 (code B ref 54368); Sun, 13 Mar 2022 05:45:03 +0000 Received: (at 54368) by debbugs.gnu.org; 13 Mar 2022 05:44:59 +0000 Received: from localhost ([127.0.0.1]:41415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTH2I-0007rV-It for submit@debbugs.gnu.org; Sun, 13 Mar 2022 00:44:58 -0500 Received: from mail-qt1-f172.google.com ([209.85.160.172]:40512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nTH2F-0007qs-Lh for 54368@debbugs.gnu.org; Sun, 13 Mar 2022 00:44:56 -0500 Received: by mail-qt1-f172.google.com with SMTP id g7so4105688qtg.7 for <54368@debbugs.gnu.org>; Sat, 12 Mar 2022 21:44:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lW2SM29s91L5EZOTzJWueMpB5Qz0ejBxm7L3Q/dF5Qo=; b=q03weZ5fsw7HWiHTuBQAQsSX8U36x4MdXJXMIds11EICbwlJlRv/UN4wQvIVnwW6jy OahW2RuCM7RG7q33v4YCWT/3MiPryoMDhQs6sZwiBgXThFx55XVFxSfCQM1z4wsmRChp zkSM+FIhQgy+7FofpgXcCG97tUNSYEM8Pd3Srr324Atdy/jZoqDXWTdOgSU1K5IEtV70 CRVi/cm5BvYeQQbVXZdTLJ8UXtRc2IrisdR+ULytB55Ksks43SlgKGuiKShxJ6ig/dVi afaJhBLlhu9pv2aoDZ7k/rWgOBOanWs9YRHMzLPdyiX23z493b7QgRjmJzRYCBZaK5xg weug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lW2SM29s91L5EZOTzJWueMpB5Qz0ejBxm7L3Q/dF5Qo=; b=H2GueU2vmIBmaY4z3wHSPCnQP1LmNGrKBEYWDPPNqPm3eygohm0+etOscM6E9/1Stk 1ZRTAHCLIMY59hL2tDIXMjgisxg4oKnD2F4SNVEpJ1B1AafR9WbUfBD901LWuFuauOkm 3nPO5taQ9K/5p+76TKa1FWeS7eC9cSEGJD2qjuZ9kOnyGoDKL6Nl3/7CWKNr+SKjA2lm uj5y+L4jLu8UYmW73oRoG3aGgIWZAxz4LiHDGOMGMWTgLPJXh5OwH/08xze+/YYdAQPP r3YoWeBoFyfJhMwaYivUzv2a72wb0eEA75XIS5x8C7aDzIQrv7rkrs1ArkToBhy02Bvp 68vQ== X-Gm-Message-State: AOAM533cTsX9Fhty+BlRc/zZ1vMAbH6n1trFtk2md7/5FzHFE19upu0o zzvB85GttvZ1U7qDyLvEsO8VJ10kqC0= X-Google-Smtp-Source: ABdhPJyAf0XTblLnufSQ/vpow/0TIVFzCc2v3zZlvFZjGdK/qadR/ZImiazgDVP7WrjVl1B9xdqcAQ== X-Received: by 2002:ac8:578f:0:b0:2e1:ce21:43a9 with SMTP id v15-20020ac8578f000000b002e1ce2143a9mr1061555qta.521.1647150290000; Sat, 12 Mar 2022 21:44:50 -0800 (PST) Received: from localhost.localdomain (dsl-153-119.b2b2c.ca. [66.158.153.119]) by smtp.gmail.com with ESMTPSA id v129-20020a379387000000b0064936bab2fcsm6376657qkd.48.2022.03.12.21.44.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Mar 2022 21:44:49 -0800 (PST) From: Maxim Cournoyer Date: Sun, 13 Mar 2022 00:43:55 -0500 Message-Id: <20220313054356.17578-4-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.34.0 In-Reply-To: <20220313054356.17578-1-maxim.cournoyer@gmail.com> References: <20220313054356.17578-1-maxim.cournoyer@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1647150329; 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: content-transfer-encoding:content-transfer-encoding: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=0AmOuVMrV4Po+VdzP6+dJjZmjPptPf1ciaPPbePNzDU=; b=mh7bxQklyLE0xUFdIatt2Ng2ctiMleQWJw2T9gxuDI18pU7xfQy/wC4ITVsVCOeHuitwZT LD0HyGyqHCi2PoZpH6bKX9QPZR+kEez0WidCNPgif3uzM1Dg8iEaB/pB8yYatr2wUDGt/V mOEPq88vbUA55DVbIgE+qQJlJBB4plZH50RhbmSWjjT9yjaM7E4/botOI/op28yFr3YJpM TJmHvEUPYHKharRBbPoIANUsGAuluUxRKWl9si3onGoYyFgk70pDiAP86J4T7bKZqcNNTk QYZNn3AchU9g2CT8LIRq/M2XNvnITeNf8NqCe7uDg0kP+dNjFsC9Exw4XOM+Cg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1647150329; a=rsa-sha256; cv=none; b=Ui05xoNodZbHfiszuodSwcrcwS1VDZNaOiFvLxK7V0J87UAsLpGPuMML+gnH6DKmAWR4AB Wwc7QKpHj1ZzIlQOgzaAm6hpV0mlKizV2Nm74NHKrqLIwVpGE7gv7lFmJ8bOzeS1NEcLOz J/32eYTi4zWd9WeIW+Goomy+prvVMWnz4JmRxDKGUyn2E1hjtN4a0w9s6Uok0f4rhhmDEY T3rfkvC93NJWw0yoKE6s/+TnG0Eav1sCnwhZSwYn6No0ztRyuFliEMxCdlerSMcX2loMzz /Nu6jIRBJDyqWreXRspXddIeHvFEbOFFWt302vSXN9xzpxA0OBO51o34YzlYEg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=q03weZ5f; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 5.12 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=q03weZ5f; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 8908A37FF2 X-Spam-Score: 5.12 X-Migadu-Scanner: scn0.migadu.com X-TUID: 7m20OqSprR7X * gnu/tests/install.scm (%btrfs-raid10-root-os) (%btrfs-raid10-root-os): New variables. (%btrfs-raid10-root-installation-script): Likewise. (%test-btrfs-raid10-root-images): Likewise. (%test-btrfs-raid10-root-os, %test-btrfs-raid10-root-os-degraded): New tests. --- gnu/tests/install.scm | 113 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 112 insertions(+), 1 deletion(-) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 59e76c86e7..79a7490e7a 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020 Danny Milosavljevic ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,6 +70,8 @@ (define-module (gnu tests install) %test-btrfs-root-os %test-btrfs-root-on-subvolume-os %test-btrfs-raid-root-os + %test-btrfs-raid10-root-os + %test-btrfs-raid10-root-os-degraded %test-jfs-root-os %test-f2fs-root-os %test-xfs-root-os @@ -1256,6 +1258,115 @@ (define %test-btrfs-root-on-subvolume-os (run-basic-test %btrfs-root-on-subvolume-os command "btrfs-root-on-subvolume-os"))))) + +;;; +;;; Btrfs RAID10 root file system. +;;; + +(define-os-with-source (%btrfs-raid10-root-os + %btrfs-raid10-root-os-source) + ;; The OS we want to install. + (use-modules (gnu) (gnu tests) (srfi srfi-1)) + + (operating-system + (host-name "hurd") + (timezone "Europe/Paris") + (locale "en_US.UTF-8") + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (targets (list "/dev/vdb" "/dev/vdc" "/dev/vdd" "/dev/vde")))) + (kernel-arguments '("console=ttyS0")) + (file-systems (cons* (file-system + (device (uuid "16ff18e2-eb41-4324-8df5-80d3b53c411b")) + (mount-point "/") + (options "compress-force=zstd,degraded") + (type "btrfs")) + %base-file-systems)) + (users (cons (user-account + (name "charlie") + (group "users") + (supplementary-groups '("wheel" "audio" "video"))) + %base-user-accounts)) + (services (cons (service marionette-service-type + (marionette-configuration + (imported-modules '((gnu services herd) + (guix combinators))))) + %base-services)))) + +(define %btrfs-raid10-root-installation-script + ;; Shell script of a simple installation. + "\ +. /etc/profile +set -e -x +guix --version + +export GUIX_BUILD_OPTIONS=--no-grafts +ls -l /run/current-system/gc-roots +for d in vdb vdc vdd vde; do + parted --script /dev/$d mklabel gpt \\ + mkpart primary ext2 1M 2M \\ + mkpart primary ext2 2M 100% \\ + set 1 boot on \\ + set 1 bios_grub on +done + +# Create the RAID10 Btrfs array. +mkfs.btrfs -d raid10 -m raid1c4 /dev/{vdb2,vdc2,vdd2,vde2} \\ + --uuid 16ff18e2-eb41-4324-8df5-80d3b53c411b + +# Mount it, ready for installation. +mount UUID=16ff18e2-eb41-4324-8df5-80d3b53c411b -o compress-force=zstd /mnt + +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/target-config.scm /mnt/etc/config.scm +guix system build /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n") + +(define %test-btrfs-raid10-root-images + (mlet %store-monad + ((images (run-install %btrfs-raid10-root-os + %btrfs-raid10-root-os-source + #:script + %btrfs-raid10-root-installation-script + #:number-of-disks 4 + #:target-size (* 1100 MiB)))) + (return images))) + +(define %test-btrfs-raid10-root-os + (system-test + (name "btrfs-raid10-root-os") + (description + "Test basic functionality of an OS installed on top of a Btrfs RAID10 file +system spanning 4 disks. This test is expensive in terms of CPU and storage +usage since we need to build (current-guix) and then store a couple of full +system images.") + (value + (mlet* %store-monad + ((images %test-btrfs-raid10-root-images) + (command (qemu-command* images))) + (run-basic-test %btrfs-raid10-root-os command + "btrfs-raid10-root-os"))))) + +(define %test-btrfs-raid10-root-os-degraded + (system-test + (name "btrfs-raid10-root-os-degraded") + (description + "Test basic functionality of an OS installed on top of a Btrfs RAID10 file +system spanning 4 disks, degraded to 3 disks. This test is expensive in terms +of CPU and storage usage since we need to build (current-guix) and then store +a couple of full system images.") + (value + (mlet* %store-monad + ;; Drop the first image; this boots because the root file system uses + ;; the Btrfs "degraded" mount option. + ((images %test-btrfs-raid10-root-images) + (command (qemu-command* #~(cdr #$images)))) + (run-basic-test %btrfs-raid10-root-os command + "btrfs-raid10-root-os"))))) + ;;; ;;; JFS root file system. -- 2.34.0