summaryrefslogtreecommitdiffstats
path: root/examples/playbooks/no_handler_pass.yml
blob: ea6d61dbb66ee8993cf5b8a755c7be8911f32f18 (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
---
- name: Fixture for no-handler-pass
  hosts: all
  tasks:
    - name: Execute something
      ansible.builtin.command: echo 123
      register: result
      changed_when: true

    - name: Print helpful error message
      ansible.builtin.debug:
        var: result
      when: result.failed

    - name: Do something when hello is output
      ansible.builtin.debug:
        msg: why isn't this a handler
      when: result.stdout == "hello"

    - name: Never actually debug
      ansible.builtin.debug:
        var: result
      when: false

    - name: "Don't execute this step"
      ansible.builtin.debug:
        msg: "debug message"
      when:
        - false

    - name: Check when with a list
      ansible.builtin.debug:
        var: result
      when:
        - conditionA
        - conditionB

    - name: Check when with a list of size 1
      ansible.builtin.debug:
        var: result
      when:
        - conditionA

    - name: Registering task 1
      ansible.builtin.command: echo Hello
      register: r1
      changed_when: true

    - name: Registering task 2
      ansible.builtin.command: echo Hello
      register: r2
      changed_when: true

    - name: Use when task # noqa: no-changed-when
      ansible.builtin.command: echo Hello
      when: r1.changed and r2.changed

    - name: Use when with or # noqa: no-changed-when
      ansible.builtin.command: echo Hello
      when: r1.changed or conditionA

    - name: Use when with list of conditions # noqa: no-changed-when
      ansible.builtin.command: echo Hello
      when:
        - r1.changed
        - conditionA

    - name: Registering task
      ansible.builtin.command: echo Hello
      register: r
      changed_when: true

    - name: When task not changed # noqa: no-changed-when
      ansible.builtin.command: echo Not changed
      when: not r.changed

    - name: Execute command # noqa: no-changed-when
      ansible.builtin.command: echo hello
      register: result

    - name: This should be a handler 2
      ansible.builtin.debug:
        msg: why isn't this a handler
      when: result | changed

  handlers:
    # If this task would have being under 'tasks:' it should have triggered
    # the rule, but under 'handlers:' it should not.
    - name: Reproduce bug 3646
      loop: "{{ _something_done.results }}"
      loop_control:
        label: "{{ item.item.name }}"
      when: item.changed
      ansible.builtin.debug:
        msg: "{{ item.item.name }} changed"