cloud-init-dev team mailing list archive
-
cloud-init-dev team
-
Mailing list archive
-
Message #05918
Re: [Merge] ~raharper/cloud-init:fix/merge-how-docs into cloud-init:master
A doc reference to the tools/ccfg-merge-debug might be useful (probably that could use some improvements too)
Diff comments:
> diff --git a/doc/rtd/topics/merging.rst b/doc/rtd/topics/merging.rst
> index c75ca59..3761305 100644
> --- a/doc/rtd/topics/merging.rst
> +++ b/doc/rtd/topics/merging.rst
> @@ -201,4 +201,43 @@ Note, however, that merge algorithms are not used *across* types of
> configuration. As was the case before merging was implemented,
> user-data will overwrite conf.d configuration without merging.
>
> +Example cloud-config
> +====================
> +
> +A common request is to include multiple ``runcmd`` directives in different
> +files and merge all of the commands together. To achieve this, we must modify
> +the default merging to allow for dictionaries to join list values.
> +
> +
> +The first config
> +
> +.. code-block:: yaml
> +
> + #cloud-config
> + merge_how:
> + - name: list
> + settings: [append]
> + - name: dict
> + settings: [no_replace, recurse_list]
Does the first config need to specify this? I don't think so, and if not then this just leads to confusion. The second config *should* indicate how it is to be merged independent of any settings in the first.
> +
> + runcmd:
> + - bash1
> + - bash2
> +
> +The second config
> +
> +.. code-block:: yaml
> +
> + #cloud-config
> + merge_how:
> + - name: list
> + settings: [append]
> + - name: dict
> + settings: [no_replace, recurse_list]
> +
> + runcmd:
> + - bash3
> + - bash4
> +
> +
> .. vi: textwidth=78
--
https://code.launchpad.net/~raharper/cloud-init/+git/cloud-init/+merge/362083
Your team cloud-init commiters is requested to review the proposed merge of ~raharper/cloud-init:fix/merge-how-docs into cloud-init:master.
References