mirror of https://github.com/ansible/ansible.git
combine_vars uses dict.update() to replace keys (cherry picked from commitpull/73186/head5e03e322de) * Add tests for merging and replacing vars from inventory sources (#73181) (cherry picked from commit9de2da8a7e)
parent
abc6658ac2
commit
08ba838a8e
@ -0,0 +1,2 @@
|
||||
bugfixes:
|
||||
- inventory - pass the vars dictionary to combine_vars instead of an individual key's value (https://github.com/ansible/ansible/issues/72975).
|
||||
@ -0,0 +1,10 @@
|
||||
all:
|
||||
hosts:
|
||||
host1:
|
||||
test_inventory_host_hash:
|
||||
host_var1: "inventory 1"
|
||||
host_var2: "inventory 1"
|
||||
vars:
|
||||
test_inventory_group_hash:
|
||||
group_var1: "inventory 1"
|
||||
group_var2: "inventory 1"
|
||||
@ -0,0 +1,8 @@
|
||||
all:
|
||||
hosts:
|
||||
host1:
|
||||
test_inventory_host_hash:
|
||||
host_var1: "inventory 2"
|
||||
vars:
|
||||
test_inventory_group_hash:
|
||||
group_var1: "inventory 2"
|
||||
@ -0,0 +1,41 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
host_hash_merged: {'host_var1': 'inventory 2', 'host_var2': 'inventory 1'}
|
||||
host_hash_replaced: {'host_var1': 'inventory 2'}
|
||||
group_hash_merged: {'group_var1': 'inventory 2', 'group_var2': 'inventory 1'}
|
||||
group_hash_replaced: {'group_var1': 'inventory 2'}
|
||||
tasks:
|
||||
|
||||
- name: debug hash behaviour result
|
||||
debug:
|
||||
var: "{{ lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') }}"
|
||||
verbosity: 2
|
||||
|
||||
- name: assert hash behaviour is merge or replace
|
||||
assert:
|
||||
that:
|
||||
- lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') in ('merge', 'replace')
|
||||
|
||||
- name: debug test_inventory_host_hash
|
||||
debug:
|
||||
var: hostvars['host1']['test_inventory_host_hash']
|
||||
verbosity: 2
|
||||
|
||||
- name: debug test_inventory_group_hash
|
||||
debug:
|
||||
var: test_inventory_group_hash
|
||||
verbosity: 2
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- hostvars['host1']['test_inventory_host_hash'] == host_hash_replaced
|
||||
- test_inventory_group_hash == group_hash_replaced
|
||||
when: "lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') == 'replace'"
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- hostvars['host1']['test_inventory_host_hash'] == host_hash_merged
|
||||
- test_inventory_group_hash == group_hash_merged
|
||||
when: "lookup('env', 'ANSIBLE_HASH_BEHAVIOUR') == 'merge'"
|
||||
Loading…
Reference in New Issue