summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/meta_tasks/refresh_preserve_dynamic.yml
blob: 7766a382a980e974e763cf822998583e91d2a3c5 (plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
- hosts: all
  gather_facts: false
  tasks:
      - name: check initial state
        assert:
          that:
            - "'one' in ansible_play_hosts"
            - "'two' in ansible_play_hosts"
            - "'three' in ansible_play_hosts"
            - "'four' not in ansible_play_hosts"
        run_once: true

      - name: add a host
        add_host:
          name: yolo
          parity: null

      - name: group em
        group_by:
          key: '{{parity}}'

- hosts: all
  gather_facts: false
  tasks:
    - name: test and ensure we restore symlink
      run_once: true
      block:
      - name: check added host state
        assert:
          that:
            - "'yolo' in ansible_play_hosts"
            - "'even' in groups"
            - "'odd' in groups"
            - "'two' in groups['even']"
            - "'three' in groups['odd']"

      - name: change symlink
        file: src=./inventory_new.yml dest=./inventory_refresh.yml state=link force=yes follow=false
        delegate_to: localhost

      - name: refresh the inventory to new source
        meta: refresh_inventory

      always:
        - name: revert symlink, invenotry was already reread or failed
          file: src=./inventory_old.yml dest=./inventory_refresh.yml state=link force=yes follow=false
          delegate_to: localhost

- hosts: all
  gather_facts: false
  tasks:
      - name: check refreshed state
        assert:
          that:
            - "'one' not in ansible_play_hosts"
            - "'two' in ansible_play_hosts"
            - "'three' in ansible_play_hosts"
            - "'four' in ansible_play_hosts"
        run_once: true

      - name: check added host state
        assert:
          that:
            - "'yolo' in ansible_play_hosts"
            - "'even' in groups"
            - "'odd' in groups"
            - "'two' in groups['even']"
            - "'three' in groups['odd']"
        run_once: true