curtin-dev team mailing list archive
-
curtin-dev team
-
Mailing list archive
-
Message #00935
[Merge] ~raharper/curtin:fix/multipath-lvm-dirty-setup into curtin:master
Ryan Harper has proposed merging ~raharper/curtin:fix/multipath-lvm-dirty-setup into curtin:master.
Commit message:
vmtests/multipath-lvm: dont assume device-mapper block names
- Add comments in the early_command code to document what it is doing
- Use the /device/mapper/mpatha symlink to determine the correct
device-mapper device name when operating on it
- Add additional commands to capture more information for future
debugging issues with these tests.
LP: #1898758
Requested reviews:
curtin developers (curtin-dev)
Related bugs:
Bug #1898758 in curtin: "vmtests.test_multipath_lvm.Centos70TestMultipathLvm failing in curtin-vmtest-devel-amd64"
https://bugs.launchpad.net/curtin/+bug/1898758
For more details, see:
https://code.launchpad.net/~raharper/curtin/+git/curtin/+merge/391934
--
Your team curtin developers is requested to review the proposed merge of ~raharper/curtin:fix/multipath-lvm-dirty-setup into curtin:master.
diff --git a/examples/tests/multipath-lvm-part-wipe.yaml b/examples/tests/multipath-lvm-part-wipe.yaml
index 0b22aa3..cb18a08 100644
--- a/examples/tests/multipath-lvm-part-wipe.yaml
+++ b/examples/tests/multipath-lvm-part-wipe.yaml
@@ -14,11 +14,16 @@ bucket:
udevadm settle
multipath -v3 -R3 -r
fi
+ # disassemble multipath disks
multipath -ll
- dmsetup remove --force --retry /dev/dm-0
+ ls -al /dev/mapper/
+ mpatha_dev=$(realpath /dev/mapper/mpatha)
+ dmsetup remove --force --retry ${mpatha_dev}
dmsetup ls
multipath -v3 -R3 -f mpatha
udevadm settle
+ ls -al /dev/mapper/
+ # create an LVM vg and lv with one of the multipath members
parted /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk-a --script -- \
mklabel gpt \
mkpart primary 1MiB 2MiB \
@@ -42,19 +47,24 @@ bucket:
--size 2684354560B
udevadm settle
mkfs.ext4 /dev/root_vg/lv1_root
+ ls -al /dev/mapper/
# stop lvm bits
for vg in `pvdisplay -C --separator = -o vg_name --noheadings`; do
vgchange -an $vg ||:
done
command -v systemctl && systemctl mask lvm2-pvscan\@.service
rm -rf /etc/lvm/archive /etc/lvm/backup /run/lvm/*
+ # reload multipath mapping
multipath -r
udevadm settle
dmsetup ls
multipath -ll
ls -al /dev/mapper/
sleep 5
- ls -al /sys/class/block/dm-0/holders/
+ mpatha_block_name=$(basename `realpath /dev/mapper/mpatha`)
+ echo "mpatha dm blockname: [${mpatha_block_name}]"
+ ls -al /sys/class/block/${mpatha_block_name}/holders/
+ # print the shutdown plan
/curtin/bin/curtin \
-v --config /curtin/config/multipath-lvm-part-wipe.yaml \
clear-holders --shutdown-plan
diff --git a/examples/tests/multipath-lvm.yaml b/examples/tests/multipath-lvm.yaml
index fd5ea07..5ec8687 100644
--- a/examples/tests/multipath-lvm.yaml
+++ b/examples/tests/multipath-lvm.yaml
@@ -14,11 +14,16 @@ bucket:
udevadm settle
multipath -v3 -R3 -r
fi
+ # disassemble multipath disks
multipath -ll
- dmsetup remove --force --retry /dev/dm-0
+ ls -al /dev/mapper/
+ mpatha_dev=$(realpath /dev/mapper/mpatha)
+ dmsetup remove --force --retry ${mpatha_dev}
dmsetup ls
multipath -v3 -R3 -f mpatha
udevadm settle
+ ls -al /dev/mapper/
+ # create an LVM vg and lv with one of the multipath members
parted /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk-a --script -- \
mklabel gpt \
mkpart primary 1MiB 2MiB \
@@ -41,19 +46,24 @@ bucket:
--size 3758096384B
udevadm settle
mkfs.ext4 /dev/root_vg/lv1_root
+ ls -al /dev/mapper/
# stop lvm bits
for vg in `pvdisplay -C --separator = -o vg_name --noheadings`; do
vgchange -an $vg ||:
done
command -v systemctl && systemctl mask lvm2-pvscan\@.service
rm -rf /etc/lvm/archive /etc/lvm/backup /run/lvm/*
+ ls -al /dev/mapper/
+ # reload multipath mapping
multipath -r
udevadm settle
dmsetup ls
multipath -ll
ls -al /dev/mapper/
sleep 5
- ls -al /sys/class/block/dm-0/holders/
+ mpatha_block_name=$(basename `realpath /dev/mapper/mpatha`)
+ echo "mpatha dm blockname: [${mpatha_block_name}]"
+ ls -al /sys/class/block/${mpatha_block_name}/holders/
# Create a LVM now to test curtin's reuse of existing LVMs
Follow ups