File: test_inventory_hash.yml

package info (click to toggle)
ansible-core 2.19.0~beta6-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 32,628 kB
  • sloc: python: 180,313; cs: 4,929; sh: 4,601; xml: 34; makefile: 21
file content (41 lines) | stat: -rw-r--r-- 1,338 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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'"