curtin-dev team mailing list archive
-
curtin-dev team
-
Mailing list archive
-
Message #00126
Re: [Merge] ~raharper/curtin:fix/device-mapper-mpath-is-not-symlink into curtin:master
I'm doing some vmtests on the multipath scenarios, and then landing this.
Diff comments:
> diff --git a/curtin/commands/block_meta.py b/curtin/commands/block_meta.py
> index 7fbd89f..5849e3d 100644
> --- a/curtin/commands/block_meta.py
> +++ b/curtin/commands/block_meta.py
> @@ -910,8 +910,12 @@ def partition_handler(info, storage_config):
> if multipath.is_mpath_device(disk):
> udevadm_settle() # allow partition creation to happen
> # update device mapper table mapping to mpathX-partN
> - util.subp(['kpartx', '-v', '-a', '-s', '-p', '-part', disk])
> part_path = disk + "-part%s" % partnumber
> + # sometimes multipath lib creates a block device instead of
> + # a udev symlink, remove this and allow kpartx to create it
> + if os.path.exists(part_path) and not os.path.islink(part_path):
> + util.del_file(part_path)
> + util.subp(['kpartx', '-v', '-a', '-s', '-p', '-part', disk])
We run udevadm settle, that's sufficient to have it show up. I think in general we could rework all of the handlers to run the verification bits at the end of the handler in a future patch.
> else:
> part_path = block.dev_path(block.partition_kname(disk_kname,
> partnumber))
--
https://code.launchpad.net/~raharper/curtin/+git/curtin/+merge/382776
Your team curtin developers is subscribed to branch curtin:master.
References