blob: fefd7e86c4b4c685dcbce6a87471d44bd363d139 (
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
---
# Tasks specific for RedHat systems
- name: "RedHat | Set short version name"
ansible.builtin.set_fact:
zabbix_short_version: "{{ zabbix_server_version | regex_replace('\\.', '') }}"
tags:
- always
- name: "RedHat | Use Zabbix package name"
ansible.builtin.set_fact:
zabbix_server_package: "zabbix-server-{{ zabbix_server_database }}"
tags:
- always
- name: "RedHat | Set facts for Zabbix"
ansible.builtin.set_fact:
datafiles_path: "/usr/share/zabbix-sql-scripts/{{ 'postgresql' if zabbix_server_database == 'pgsql' else 'mysql' }}"
tags:
- always
- name: "RedHat | Make sure old file is absent"
ansible.builtin.file:
path: /etc/yum.repos.d/zabbix-supported.repo
state: absent
become: true
tags:
- install
- name: "RedHat | Install basic repo file"
ansible.builtin.yum_repository:
name: "{{ item.name }}"
description: "{{ item.description }}"
baseurl: "{{ item.baseurl }}"
gpgcheck: "{{ item.gpgcheck }}"
gpgkey: "{{ item.gpgkey }}"
mode: "{{ item.mode | default('0644') }}"
priority: "{{ item.priority | default('99') }}"
state: "{{ item.state | default('present') }}"
proxy: "{{ zabbix_http_proxy | default(omit) }}"
with_items: "{{ zabbix_repo_yum }}"
register: yum_repo_installed
become: true
notify:
- "clean repo files from proxy creds"
tags:
- install
- name: "RedHat | Installing zabbix-server-{{ zabbix_server_database }}"
ansible.builtin.package:
pkg: "{{ zabbix_server_package }}-{{ zabbix_server_version }}.{{ zabbix_server_version_minor }}"
state: "{{ zabbix_server_package_state }}"
disablerepo: "{{ zabbix_server_disable_repo | default(omit) }}"
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_package_installed
until: zabbix_server_package_installed is succeeded
become: true
tags:
- install
- name: "RedHat | Installing zabbix-sql-scripts"
ansible.builtin.package:
pkg: "zabbix-sql-scripts-{{ zabbix_server_version }}.{{ zabbix_server_version_minor }}"
state: "{{ zabbix_server_package_state }}"
disablerepo: "{{ zabbix_server_disable_repo | default(omit) }}"
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_sql_package_installed
until: zabbix_server_sql_package_installed is succeeded
when:
- zabbix_server_version is version('6.0', '>=')
become: true
tags:
- install
- name: "RedHat | Install Ansible module dependencies"
ansible.builtin.yum:
name: "{{ pgsql_depenencies[ansible_distribution_major_version] }}"
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_dependencies_installed
until: zabbix_server_dependencies_installed is succeeded
become: true
when:
- zabbix_server_database_creation
- zabbix_server_database == 'pgsql'
tags:
- install
- dependencies
- name: RedHat | Install Database Client Package
block:
- name: "RedHat | Install Mysql Client packages"
ansible.builtin.yum:
name: "{{ mysql_client_pkgs[ansible_distribution_major_version] }}"
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_dependencies_installed
until: zabbix_server_dependencies_installed is succeeded
become: true
when:
- zabbix_server_database == 'mysql'
- name: "RedHat | Install PostgreSQL client package"
ansible.builtin.yum:
name: postgresql
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_dependencies_installed
until: zabbix_server_dependencies_installed is succeeded
become: true
when:
- zabbix_server_database == 'pgsql'
when: zabbix_server_install_database_client
tags:
- install
- dependencies
- database
- name: "RedHat | Configure SELinux when enabled"
ansible.builtin.include_tasks: selinux.yml
when:
- zabbix_server_selinux | bool
|