curtin-dev team mailing list archive
-
curtin-dev team
-
Mailing list archive
-
Message #00187
[Merge] ~raharper/curtin:fix/lvm-vgscan-no-mknodes into curtin:master
Ryan Harper has proposed merging ~raharper/curtin:fix/lvm-vgscan-no-mknodes into curtin:master.
Commit message:
lvm: don't use vgscan --mknodes
vgscan --mknodes has a bug which creates block device nodes for any
entry in dmsetup table if it doesn't exist yet. This breaks the
assumption that /dev/mapper entries are symlinks created by udev.
Until upstream RHBZ: #1828617 is resolved do not use --mknodes.
Requested reviews:
curtin developers (curtin-dev)
For more details, see:
https://code.launchpad.net/~raharper/curtin/+git/curtin/+merge/383141
--
Your team curtin developers is requested to review the proposed merge of ~raharper/curtin:fix/lvm-vgscan-no-mknodes into curtin:master.
diff --git a/curtin/block/lvm.py b/curtin/block/lvm.py
index 1edc587..da29c7b 100644
--- a/curtin/block/lvm.py
+++ b/curtin/block/lvm.py
@@ -129,7 +129,7 @@ def lvm_scan(activate=True, multipath=False):
# only operate on mp devices
mponly = 'devices{ filter = [ "a|/dev/mapper/mpath.*|", "r|.*|" ] }'
- for cmd in [['pvscan'], ['vgscan', '--mknodes']]:
+ for cmd in [['pvscan'], ['vgscan']]:
if release != 'precise' and lvmetad_running():
cmd.append('--cache')
if multipath:
diff --git a/examples/tests/multipath-lvm-part-wipe.yaml b/examples/tests/multipath-lvm-part-wipe.yaml
index bfe39ea..0b22aa3 100644
--- a/examples/tests/multipath-lvm-part-wipe.yaml
+++ b/examples/tests/multipath-lvm-part-wipe.yaml
@@ -29,8 +29,8 @@ bucket:
udevadm settle
ls -al /dev/disk/by-id
vgcreate --force --zero=y --yes root_vg /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk-a-part3
- pvscan --cache
- vgscan --verbose --mknodes --cache
+ pvscan --verbose
+ vgscan --verbose
udevadm settle
for x in $(seq 1 10); do
if vgs root_vg; then
diff --git a/examples/tests/multipath-lvm.yaml b/examples/tests/multipath-lvm.yaml
index 68c3271..fd5ea07 100644
--- a/examples/tests/multipath-lvm.yaml
+++ b/examples/tests/multipath-lvm.yaml
@@ -28,8 +28,8 @@ bucket:
udevadm settle
ls -al /dev/disk/by-id
vgcreate --force --zero=y --yes root_vg /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_disk-a-part2
- pvscan --cache
- vgscan --verbose --mknodes --cache
+ pvscan --verbose
+ vgscan --verbose
udevadm settle
for x in $(seq 1 10); do
if vgs root_vg; then
diff --git a/examples/tests/preserve-lvm.yaml b/examples/tests/preserve-lvm.yaml
index 046d6b4..a939759 100644
--- a/examples/tests/preserve-lvm.yaml
+++ b/examples/tests/preserve-lvm.yaml
@@ -10,8 +10,8 @@ bucket:
udevadm settle
ls -al /dev/disk/by-id
vgcreate --force --zero=y --yes root_vg /dev/disk/by-id/virtio-disk-a-part2
- pvscan --cache
- vgscan --mknodes --cache
+ pvscan --verbose
+ vgscan --verbose
lvcreate root_vg --name lv1_root --zero=y --wipesignatures=y \
--size 3758096384B
udevadm settle
diff --git a/examples/tests/preserve-partition-wipe-vg-simple.yaml b/examples/tests/preserve-partition-wipe-vg-simple.yaml
index 662f34f..e1f0b9e 100644
--- a/examples/tests/preserve-partition-wipe-vg-simple.yaml
+++ b/examples/tests/preserve-partition-wipe-vg-simple.yaml
@@ -10,8 +10,8 @@ bucket:
udevadm settle
ls -al /dev/disk/by-id
vgcreate --force --zero=y --yes root_vg /dev/disk/by-id/virtio-disk-a-part2
- pvscan --cache
- vgscan --mknodes --cache
+ pvscan --verbose
+ vgscan --verbose
vgs
lvcreate root_vg --name lv1_root --zero=y --wipesignatures=y \
--size 2G
diff --git a/examples/tests/preserve-partition-wipe-vg.yaml b/examples/tests/preserve-partition-wipe-vg.yaml
index cef9678..97686e1 100644
--- a/examples/tests/preserve-partition-wipe-vg.yaml
+++ b/examples/tests/preserve-partition-wipe-vg.yaml
@@ -15,8 +15,8 @@ bucket:
udevadm settle
ls -al /dev/disk/by-id
vgcreate --force --zero=y --yes vg8 /dev/disk/by-id/virtio-disk-b-part1
- pvscan --cache
- vgscan --mknodes --cache
+ pvscan --verbose
+ vgscan --verbose
udevadm settle
ls -al /dev/disk/by-id
mkfs.ext4 /dev/disk/by-id/virtio-disk-a-part3
diff --git a/examples/tests/reuse-lvm-member-partition.yaml b/examples/tests/reuse-lvm-member-partition.yaml
index d2f73ba..fd8f602 100644
--- a/examples/tests/reuse-lvm-member-partition.yaml
+++ b/examples/tests/reuse-lvm-member-partition.yaml
@@ -25,8 +25,8 @@ bucket:
mkpart primary 2GiB 9GiB
udevadm settle
vgcreate --verbose --force --zero=y --yes ${VG} ${SDA}-part2 ${SDB}-part1
- pvscan --verbose --cache
- vgscan --verbose --mknodes
+ pvscan --verbose
+ vgscan --verbose
# create a striped lv
lvcreate ${VG} --extents 100%FREE --stripes 2 --stripesize 256 \
--name ${LV}
diff --git a/tests/unittests/test_block_lvm.py b/tests/unittests/test_block_lvm.py
index 842511c..ff58b30 100644
--- a/tests/unittests/test_block_lvm.py
+++ b/tests/unittests/test_block_lvm.py
@@ -76,7 +76,7 @@ class TestBlockLvm(CiTestCase):
@mock.patch('curtin.block.lvm.distro')
def test_lvm_scan(self, mock_distro, mock_util, mock_lvmetad):
"""check that lvm_scan formats commands correctly for each release"""
- cmds = [['pvscan'], ['vgscan', '--mknodes']]
+ cmds = [['pvscan'], ['vgscan']]
for (count, (codename, lvmetad_status, use_cache)) in enumerate(
[('precise', False, False),
('trusty', False, False),
@@ -100,7 +100,7 @@ class TestBlockLvm(CiTestCase):
@mock.patch('curtin.block.lvm.distro')
def test_lvm_scan_multipath(self, mock_distro, mock_util, mock_lvmetad):
"""check that lvm_scan formats commands correctly for multipath."""
- cmds = [['pvscan'], ['vgscan', '--mknodes']]
+ cmds = [['pvscan'], ['vgscan']]
mock_distro.lsb_release.return_value = {'codename': 'focal'}
mock_lvmetad.return_value = False
lvm.lvm_scan(multipath=True)
Follow ups