-
Notifications
You must be signed in to change notification settings - Fork 0
/
plugins.yml
84 lines (81 loc) · 2.84 KB
/
plugins.yml
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
---
- name: Install and configure plugins.
hosts: clients
gather_facts: no # Facts gathering has been already done in gather-facts.yml playbook.
serial: "{{ playbook_serial|default(0) }}"
tasks:
- block:
- name: Activated plugins for client
debug:
var: enable_plugins
- name: Include role task main
include_role:
name: "{{ plugin_name }}"
tasks_from: "main"
loop: "{{ hostvars['localhost']['icinga2_plugins'] }}"
loop_control:
loop_var: plugin_name
when: plugin_name in enable_plugins
when: >
hostvars[groups['master'][0]]['icinga2_configured'] and
icinga2_installed
- name: Configure the master services and commands.
hosts: master
gather_facts: no # Facts gathering has been already done in gather-facts.yml playbook.
serial: "{{ playbook_serial|default(0) }}"
handlers:
- name: restart icinga2
service:
name: icinga2
state: restarted
tasks:
- block:
- name: Include role task master services
include_role:
name: "{{ item }}"
tasks_from: "services"
loop: "{{ hostvars['localhost']['icinga2_plugins'] }}"
- name: Include role task master commands
include_role:
name: "{{ item }}"
tasks_from: "commands"
loop: "{{ hostvars['localhost']['icinga2_plugins'] }}"
when: >
hostvars[groups['master'][0]]['icinga2_configured'] and
icinga2_installed
- name: Configure the clients commands.
hosts: clients
gather_facts: no # Facts gathering has been already done in gather-facts.yml playbook.
serial: "{{ playbook_serial|default(0) }}"
handlers:
- name: restart icinga2
service:
name: icinga2
state: restarted
tasks:
- block:
# Needed in some cases where conf.d is not included on some clients.
- name: Ensure conf.d is included in main Icinga2 config.
lineinfile:
line: 'include_recursive "conf.d"'
dest: "{{ icinga2_config_dir }}/icinga2.conf"
notify: restart icinga2
- name: Include role task client commands
include_role:
name: "{{ plugin_name }}"
tasks_from: "commands"
loop: "{{ hostvars['localhost']['icinga2_plugins'] }}"
loop_control:
loop_var: plugin_name
when: plugin_name in enable_plugins
- name: Include role task client vars
include_role:
name: "{{ plugin_name }}"
tasks_from: "vars"
loop: "{{ hostvars['localhost']['icinga2_plugins'] }}"
loop_control:
loop_var: plugin_name
when: plugin_name in enable_plugins
when: >
hostvars[groups['master'][0]]['icinga2_configured'] and
icinga2_installed