Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests/kola: adding the external kola test for luks + multipath case #3124

Open
wants to merge 1 commit into
base: testing-devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions tests/kola/root-reprovision/luks/data/luks-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,17 @@ if ! grep -q no_read_workqueue <<< "${table}"; then
fi
ok "discard and custom option enabled for root LUKS"

# while we're here, sanity-check that boot is mounted by UUID
if ! systemctl cat boot.mount | grep -q What=/dev/disk/by-uuid; then
# while we're here, sanity-check that boot is mounted by UUID or by multipath label
if grep -q "rd.multipath=default" /proc/cmdline; then
expected_what=/dev/disk/by-label/dm-mpath-boot
else
expected_what=/dev/disk/by-uuid
fi
if ! systemctl cat boot.mount | grep -q What="${expected_what}"; then
systemctl cat boot.mount
fatal "boot mounted not by UUID"
fatal "boot mounted not by ${expected_what}"
fi
ok "boot mounted by UUID"
ok "boot mounted by ${expected_what}"

case "${AUTOPKGTEST_REBOOT_MARK:-}" in
"")
Expand Down
1 change: 1 addition & 0 deletions tests/kola/root-reprovision/luks/multipath/config.ign
1 change: 1 addition & 0 deletions tests/kola/root-reprovision/luks/multipath/data
33 changes: 33 additions & 0 deletions tests/kola/root-reprovision/luks/multipath/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/bash
## kola:
## # This test reprovisions the rootfs.
## tags: "reprovision"
## # This uses appendKernelArgs and multipath, which is QEMU only
## platforms: qemu
## # Root reprovisioning requires at least 4GiB of memory.
## minMemory: 4096
## # A TPM backend device is not available on s390x to suport TPM.
## architectures: "! s390x"
## # This test includes a lot of disk I/O and needs a higher
## # timeout value than the default.
## timeoutMin: 15
## description: Verify that LUKS on a mpath disks works.
## primaryDisk: ":mpath"
## appendKernelArgs: "rd.multipath=default"

set -xeuo pipefail

# shellcheck disable=SC1091
. "$KOLA_EXT_DATA/commonlib.sh"

jlebon marked this conversation as resolved.
Show resolved Hide resolved
# Check if the child device is part of the parent device
srcdev=$(findmnt -nvr /sysroot -o SOURCE)
parent_device="/dev/mapper/mpatha"

if ! lsblk -pno NAME "$parent_device" | grep -qw "$srcdev"; then
fatal "$srcdev is NOT a child of $parent_device."
fi
ok "$srcdev device is part of the parent $parent_device device"

# run the rest of the tests
. $KOLA_EXT_DATA/luks-test.sh