Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ansible / community / zabbix / roles / zabbix_server / tasks / RedHat.yml
Size: Mime:
---
# Tasks specific for RedHat systems

- name: "Set short version name"
  set_fact:
    zabbix_short_version: "{{ zabbix_version | regex_replace('\\.', '') }}"

- name: "RedHat | Use Zabbix package name"
  set_fact:
    zabbix_server_package: "zabbix-server-{{ zabbix_server_database }}"
  when:
    - zabbix_repo == "zabbix" or zabbix_repo == "other"
  tags:
    - zabbix-server

- name: "RedHat | Use EPEL package name"
  set_fact:
    zabbix_server_package: "zabbix{{ zabbix_short_version }}-server-{{ zabbix_server_database }}"
  when:
    - zabbix_repo == "epel"
  tags:
    - zabbix-server

- name: "RedHat | Set some facts Zabbix <= 3.2"
  set_fact:
    datafiles_path: "/usr/share/doc/zabbix-server-{{ zabbix_server_database }}-{{ zabbix_version }}*"
  when:
    - zabbix_version is version('3.2', '<=')
  tags:
    - zabbix-server

- name: "RedHat | Set facts for Zabbix > 3.2"
  set_fact:
    datafiles_path: "/usr/share/doc/zabbix-server-{{ zabbix_server_database }}*"
  when:
    - zabbix_version is version('3.2', '>')
    - zabbix_version is version('5.4', '<')
  tags:
    - zabbix-server

- name: "RedHat | Set facts for Zabbix >= 5.4"
  set_fact:
    datafiles_path: "/usr/share/doc/zabbix-sql-scripts/{{ zabbix_server_database_long }}"
  when:
    - zabbix_version is version('5.4', '>=')
  tags:
    - zabbix-server

- name: "RedHat | Set facts for RHEL8"
  set_fact:
    datafiles_path: "/usr/share/doc/zabbix-server-{{ zabbix_server_database }}"
  when:
    - ansible_distribution_major_version == "8"
    - zabbix_version is version('5.4', '<')
  tags:
    - zabbix-server

- name: "RedHat | Set some facts EPEL"
  set_fact:
    datafiles_path: "/usr/share/zabbix-{{ zabbix_server_database_long }}"
  when:
    - zabbix_repo == "epel"
  tags:
    - zabbix-server

- name: "RedHat | Create 'zabbix' group (EPEL)"
  group:
    name: "{{ zabbix_server_groupname | default('zabbix') }}"
    gid: "{{ zabbix_server_groupid | default(omit) }}"
    state: present
  become: true
  when:
    - zabbix_repo == "epel"

- name: "RedHat | Create 'zabbix' user (EPEL)"
  user:
    name: "{{ zabbix_server_username | default('zabbix') }}"
    comment: Zabbix Monitoring System
    uid: "{{ zabbix_server_userid | default(omit) }}"
    group: zabbix
  become: true
  when:
    - zabbix_repo == "epel"

- name: "Make sure old file is absent"
  file:
    path: /etc/yum.repos.d/zabbix-supported.repo
    state: absent
  become: true

- name: "RedHat | Install basic repo file"
  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
  when:
    zabbix_repo == "zabbix"
  notify:
    - "clean repo files from proxy creds"
  tags:
    - zabbix-server

- name: "RedHat | Installing zabbix-server-{{ zabbix_server_database }}"
  package:
    pkg: "{{ zabbix_server_package }}-{{ zabbix_server_version }}.{{ zabbix_server_version_minor }}"
    state: "{{ zabbix_server_package_state }}"
    disablerepo: "{{ '*' if (zabbix_repo_yum_enabled | length>0) else omit }}"
    enablerepo: "{{ zabbix_repo_yum_enabled if zabbix_repo_yum_enabled is iterable and (zabbix_repo_yum_enabled | length>0) else 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
  when:
    zabbix_repo != "other"
  become: true
  tags:
    - zabbix-server

- name: "RedHat | Installing zabbix-server-{{ zabbix_server_database }} (When zabbix_repo == other)"
  package:
    pkg: "{{ zabbix_server_package }}-{{ zabbix_server_version }}.{{ zabbix_server_version_minor }}"
    state: "{{ zabbix_server_package_state }}"
  register: zabbix_server_package_installed
  until: zabbix_server_package_installed is succeeded
  when:
    zabbix_repo == "other"
  become: true
  tags:
    - zabbix-server

- name: "RedHat | Installing zabbix-sql-scripts"
  package:
    pkg: "zabbix-sql-scripts-{{ zabbix_server_version }}.{{ zabbix_server_version_minor }}"
    state: "{{ zabbix_server_package_state }}"
    disablerepo: "{{ '*' if (zabbix_repo_yum_enabled | length>0) else omit }}"
    enablerepo: "{{ zabbix_repo_yum_enabled if zabbix_repo_yum_enabled is iterable and (zabbix_repo_yum_enabled | length>0) else 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_version is version('5.4', '>=')
    - zabbix_repo != "other"
  become: true
  tags:
    - zabbix-server


- name: "RedHat | Installing zabbix-sql-scripts (When zabbix_repo == other)"
  package:
    pkg: "zabbix-sql-scripts-{{ zabbix_server_version }}.{{ zabbix_server_version_minor }}"
    state: "{{ zabbix_server_package_state }}"
    disablerepo: "{{ '*' if (zabbix_repo_yum_enabled | length>0) else omit }}"
    enablerepo: "{{ zabbix_repo_yum_enabled if zabbix_repo_yum_enabled is iterable and (zabbix_repo_yum_enabled | length>0) else 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_version is version('5.4', '>=')
    - zabbix_repo == "other"
  become: true
  tags:
    - zabbix-server

- name: "RedHat | Install Ansible module dependencies"
  yum:
    name: python-psycopg2
    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_database_creation
    - zabbix_server_database == 'pgsql'
    - ansible_distribution_major_version == "7" or ansible_distribution_major_version == "6"
  tags:
    - zabbix-server

- name: "RedHat | Install Ansible module dependencies on RHEL8"
  yum:
    name: python3-psycopg2
    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_database_creation
    - zabbix_server_database == 'pgsql'
    - ansible_distribution_major_version == "8"
  tags:
    - zabbix-server

- name: "RedHat | Install Mysql Client packages RHEL8"
  yum:
    name:
      - mysql
      - python3-PyMySQL
    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'
    - zabbix_server_install_database_client
    - ansible_distribution_major_version == "8"
  tags:
    - zabbix-server

- name: "RedHat | Install Mysql Client package RHEL7"
  yum:
    name:
      - mariadb
      - MySQL-python
    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'
    - zabbix_server_install_database_client
    - ansible_distribution_major_version == "7"
  tags:
    - zabbix-server

- name: "RedHat | Install Mysql Client package RHEL5 - 6"
  yum:
    name:
      - mysql
      - MySQL-python
    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'
    - zabbix_server_install_database_client
    - ansible_distribution_major_version == "6" or ansible_distribution_major_version == "5"
  tags:
    - zabbix-server

- name: "RedHat | Install PostgreSQL client package"
  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'
    - zabbix_server_install_database_client
  tags:
    - zabbix-server

- name: "Configure SELinux when enabled"
  include: selinux.yml
  when:
    - zabbix_selinux | bool