cloud-init-dev team mailing list archive
-
cloud-init-dev team
-
Mailing list archive
-
Message #02338
Re: [Merge] ~smoser/cloud-init:bug/1692093-sometimes-need-settle into cloud-init:master
It doesn't look like you dropped blockdev as you say in your comment.
Diff comments:
> diff --git a/cloudinit/config/cc_disk_setup.py b/cloudinit/config/cc_disk_setup.py
> index e1505b3..7aacae4 100644
> --- a/cloudinit/config/cc_disk_setup.py
> +++ b/cloudinit/config/cc_disk_setup.py
> @@ -737,6 +737,21 @@ def exec_mkpart(table_type, device, layout):
> return get_dyn_func("exec_mkpart_%s", table_type, device, layout)
>
>
> +def udevadm_settle():
> + util.subp(['udevadm', 'settle'])
> +
> +
> +def assert_and_settle_device(device):
> + """Assert that device exists and settle so it is fully recognized."""
> + if not os.path.exists(device):
> + udevadm_settle()
> + if not os.path.exists(device):
> + raise RuntimeError("Device %s did not exist and was not created "
> + "with a udevamd settle." % device)
> +
> + udevadm_settle()
Why is there another settle here? I guess we're saying, even if the path exists, we'll also just flush the event queue?
> +
> +
> def mkpart(device, definition):
> """
> Creates the partition table.
--
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/324639
Your team cloud-init commiters is requested to review the proposed merge of ~smoser/cloud-init:bug/1692093-sometimes-need-settle into cloud-init:master.
Follow ups
References