← Back to team overview

cloud-init-dev team mailing list archive

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