Have a look at hash_behaviour in ansible.cfg and set it to merge. But be
aware that it's usually sign of bad design.
On Tuesday, May 12, 2015 at 7:56:52 PM UTC+2, Michail Alexakis wrote:
>
> Hello,
>
> any answer to this question?
>
>
> On Friday, May 8, 2015 at 9:51:13 PM UTC+3, Michail Alexakis wrote:
>>
>> Hello list,
>>
>> I have encountered some not expected results when i tried to include
>> (with include_vars) multiple var files in the beginning of a play.
>>
>> I normally use the "merge" hash behavior (ansible.cfg) because it seems
>> more natural to me: i usually have highly nested variable dicts
>> and i wish to add or override just parts of them based on the group/host
>> hierarchy.
>>
>> Now, i tried to include some variables in the beginning of a play (at
>> "pre_tasks" phase, but i don't thing it's relevant), to override some
>> parts of existing dicts with piece of information regarding other present
>> hosts (e.g. IPs for standby servers). It didn't succeed.
>>
>> Consider the following example:
>>
>> ```
>> # vars file: play_vars/baz-a.yml
>> baz:
>> a: 1
>> ```
>>
>> ```
>> # vars file: play_vars/baz-b.yml
>> baz:
>> b: 2
>> ```
>>
>> ```
>> ---
>> # playbook: play.yml
>> - hosts: all
>>
>> pre_tasks:
>> - include_vars: play_vars/baz-a.yml
>> - include_vars: play_vars/baz-b.yml
>>
>> tasks:
>> - debug: var=baz
>> ```
>>
>> When playing play.yml, i get: "baz": {"b": 2} while expecting "baz":
>> {"a":1, "b":2}.
>> Is this normal? Note, this is happening under hash_behavior=merge.
>>
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/faaeda77-f2fc-49ed-9bc7-0d548cbcdf6e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.