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/32ccd17a-c318-40e5-813e-15955918c084%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.