]> git.ipfire.org Git - thirdparty/dracut-ng.git/commitdiff
test(STORAGE): add test for LVM-THIN
authorJo Zzsi <jozzsicsataban@gmail.com>
Sat, 16 Nov 2024 15:01:01 +0000 (10:01 -0500)
committerLaszlo <laszlo.gombos@gmail.com>
Sat, 16 Nov 2024 16:54:25 +0000 (11:54 -0500)
Now TEST 25 is a subtest of this test and can be removed.

.github/workflows/integration-extra.yml
.github/workflows/integration.yml
test/TEST-20-STORAGE/create-root.sh
test/TEST-20-STORAGE/test.sh
test/TEST-25-LVM-THIN/Makefile [deleted file]
test/TEST-25-LVM-THIN/create-root.sh [deleted file]
test/TEST-25-LVM-THIN/test.sh [deleted file]

index a29350f284419cbf8089781bfa984decd9f632f0..a179b69428b674d220e4ca479429de4a65ecbb5f 100644 (file)
@@ -46,7 +46,6 @@ jobs:
                     - "20"
                     - "22"
                     - "23"
-                    - "25"
                     - "26"
                     - "30"
                     - "40"
index 60ea2b38a06fea08eaf20b650263a41050ea33bb..551e5ea0cd64b6c110eabad8499b3e7c69490f10 100644 (file)
@@ -86,7 +86,6 @@ jobs:
                     - "20"
                     - "22"
                     - "23"
-                    - "25"
                     - "26"
                     - "30"
                     - "80"
index f7e91bbf6d8cf59a54f782a180fbca51547b6713..cd2dfa8113edce5f7c6a5bcce4f3bca372bceb4e 100755 (executable)
@@ -41,8 +41,15 @@ else
         fi
     fi
 
-    lvm lvcreate --yes -l 100%FREE -n root dracut
-    lvm vgchange -ay
+    if grep -qF 'test.thin' /proc/cmdline; then
+        modprobe dm_thin_pool
+        lvm lvcreate --yes --ignoremonitoring --extents 100%FREE --thin dracut/mythinpool
+        lvm lvcreate --yes --ignoremonitoring --virtualsize 400M --thin dracut/mythinpool --name root
+    else
+        lvm lvcreate --yes --ignoremonitoring --extents 100%FREE --name root dracut
+    fi
+
+    lvm vgchange --ignoremonitoring -ay
 
     eval "mkfs.${TEST_FSTYPE} -q -L root /dev/dracut/root"
 fi
index 337c427af7656c5409ae7f1cc097e8338475b628..bcb31cde75284dc4fcd44ece8ae49f99b77ca972 100755 (executable)
@@ -113,8 +113,12 @@ test_setup() {
         -i ./create-root.sh /lib/dracut/hooks/initqueue/01-create-root.sh \
         -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
 
+    # LVM
     test_makeroot "$TEST_FSTYPE" "disk" "rd.md=0 rd.luks=0" || return 1
 
+    # LVM-THIN
+    test_makeroot "$TEST_FSTYPE" "disk" "rd.md=0 rd.luks=0 test.thin" || return 1
+
     if [ -n "$HAVE_RAID" ]; then
         test_makeroot "raid" "raid" "rd.luks=0" || return 1
     fi
diff --git a/test/TEST-25-LVM-THIN/Makefile b/test/TEST-25-LVM-THIN/Makefile
deleted file mode 100644 (file)
index 2dcab81..0000000
+++ /dev/null
@@ -1 +0,0 @@
--include ../Makefile.testdir
diff --git a/test/TEST-25-LVM-THIN/create-root.sh b/test/TEST-25-LVM-THIN/create-root.sh
deleted file mode 100755 (executable)
index bf8548a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-trap 'poweroff -f' EXIT
-set -ex
-modprobe dm_thin_pool
-for dev in /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[123]; do
-    lvm pvcreate -ff -y "$dev"
-done
-
-lvm vgcreate dracut /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk[123]
-lvm lvcreate --yes --ignoremonitoring -l 100%FREE -T dracut/mythinpool
-lvm lvcreate --yes --ignoremonitoring -V200M -T dracut/mythinpool -n root
-lvm vgchange --ignoremonitoring -ay
-mkfs.ext4 -q /dev/dracut/root
-mkdir -p /sysroot
-mount -t ext4 /dev/dracut/root /sysroot
-cp -a -t /sysroot /source/*
-umount /sysroot
-lvm lvchange -a n /dev/dracut/root
-
-if ! dmsetup status | grep -q out_of_data_space; then
-    echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_marker status=none
-fi
-
-sync
-poweroff -f
diff --git a/test/TEST-25-LVM-THIN/test.sh b/test/TEST-25-LVM-THIN/test.sh
deleted file mode 100755 (executable)
index edfcb59..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env bash
-# shellcheck disable=SC2034
-TEST_DESCRIPTION="root filesystem on LVM PV with thin pool"
-
-# Uncomment this to debug failures
-#DEBUGFAIL="rd.break rd.shell"
-
-test_check() {
-    if ! type -p lvm &> /dev/null; then
-        echo "Test needs lvm for lvm module... Skipping"
-        return 1
-    fi
-
-    if ! type -p mdadm &> /dev/null; then
-        echo "Test needs mdadm for mdraid module ... Skipping"
-        return 1
-    fi
-}
-
-test_run() {
-    declare -a disk_args=()
-    declare -i disk_index=0
-    qemu_add_drive disk_index disk_args "$TESTDIR"/marker.img marker
-    qemu_add_drive disk_index disk_args "$TESTDIR"/disk-1.img disk1
-    qemu_add_drive disk_index disk_args "$TESTDIR"/disk-2.img disk2
-    qemu_add_drive disk_index disk_args "$TESTDIR"/disk-3.img disk3
-
-    test_marker_reset
-    "$testdir"/run-qemu \
-        "${disk_args[@]}" \
-        -append "$TEST_KERNEL_CMDLINE root=/dev/dracut/root rd.auto=1 rd.driver.pre=dm_thin_pool" \
-        -initrd "$TESTDIR"/initramfs.testing || return 1
-    test_marker_check || return 1
-}
-
-test_setup() {
-    # Create what will eventually be our root filesystem onto an overlay
-
-    "$DRACUT" -N --keep --tmpdir "$TESTDIR" \
-        --add-confdir test-root \
-        -f "$TESTDIR"/initramfs.root "$KVERSION" || return 1
-    mkdir -p "$TESTDIR"/overlay/source && mv "$TESTDIR"/dracut.*/initramfs/* "$TESTDIR"/overlay/source && rm -rf "$TESTDIR"/dracut.*
-
-    # second, install the files needed to make the root filesystem
-
-    # create an initramfs that will create the target root filesystem.
-    # We do it this way so that we do not risk trashing the host mdraid
-    # devices, volume groups, encrypted partitions, etc.
-    "$DRACUT" -N -i "$TESTDIR"/overlay / \
-        --add-confdir test-makeroot \
-        -a "bash lvm mdraid" \
-        -I "grep" \
-        -i ./create-root.sh /lib/dracut/hooks/initqueue/01-create-root.sh \
-        -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
-
-    # Create the blank files to use as a root filesystem
-    declare -a disk_args=()
-    # shellcheck disable=SC2034
-    declare -i disk_index=0
-    qemu_add_drive disk_index disk_args "$TESTDIR"/marker.img marker 1
-    qemu_add_drive disk_index disk_args "$TESTDIR"/disk-1.img disk1 1
-    qemu_add_drive disk_index disk_args "$TESTDIR"/disk-2.img disk2 1
-    qemu_add_drive disk_index disk_args "$TESTDIR"/disk-3.img disk3 1
-
-    "$testdir"/run-qemu \
-        "${disk_args[@]}" \
-        -append "root=/dev/fakeroot quiet console=ttyS0,115200n81" \
-        -initrd "$TESTDIR"/initramfs.makeroot || return 1
-    test_marker_check dracut-root-block-created || return 1
-
-    test_dracut \
-        -a "lvm mdraid" \
-        -I lvs \
-        "$TESTDIR"/initramfs.testing
-}
-
-# shellcheck disable=SC1090
-. "$testdir"/test-functions