From 209f90694335d258aaa1411c09b5dceb828c109e Mon Sep 17 00:00:00 2001 From: Christopher <66788631+beechesII@users.noreply.github.com> Date: Mon, 31 Jan 2022 14:28:30 +0100 Subject: [PATCH] fixed role icinga_plugins for debian * added user group and plugins_basedir based on distribution to defaults.yml * changed conditions of installation tasks --- roles/icinga_plugins/README.md | 6 +++++- roles/icinga_plugins/defaults/main.yml | 14 ++++++++++++-- roles/icinga_plugins/tasks/main.yml | 8 ++++---- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/roles/icinga_plugins/README.md b/roles/icinga_plugins/README.md index b658e97..2292c39 100644 --- a/roles/icinga_plugins/README.md +++ b/roles/icinga_plugins/README.md @@ -2,6 +2,10 @@ This role copies custom checks to the wished icinga-agent node. +## Limitations + +The users nagios (Debian) or icinga (Redhat) are not created by this Role you need to create these user by yourself or by the role icinga_agent. + ## Dependencies Some checks might have dependencies, define `dependency_packages` as variable to install them. @@ -19,7 +23,7 @@ dependency_packages: | dependency_packages | no | [] | install dependency packages | icinga_install_plugins | yes | | list of plugins that should be installed | icinga2_plugins_pluginsdir | yes | {{ icinga2_plugins_basedir }}/plugins | directory for icinga plugins -| icinga2_plugins_basedir | yes | /usr/lib64/nagios | base directory for your icinga plugins +| icinga2_plugins_basedir | yes | Debian: /usr/lib/nagios Redhat: /usr/lib64/nagios | base directory for your icinga plugins | icinga_plugins_path | yes | | path with your plugins for example {{ playbook_dir }}/../files # Examples diff --git a/roles/icinga_plugins/defaults/main.yml b/roles/icinga_plugins/defaults/main.yml index b13b0d6..c56ccf7 100644 --- a/roles/icinga_plugins/defaults/main.yml +++ b/roles/icinga_plugins/defaults/main.yml @@ -1,3 +1,13 @@ --- -icinga2_plugins_basedir: /usr/lib64/nagios -icinga2_plugins_pluginsdir: "{{ icinga2_plugins_basedir }}/plugins" +icinga2_plugins_basedir: + Debian: /usr/lib/nagios + Redhat: /usr/lib64/nagios + +icinga2_plugins_pluginsdir: "{{ icinga2_plugins_basedir[ansible_os_family] }}/plugins" + +icinga2_user: + Debian: nagios + RedHat: icinga +icinga2_group: + Debian: nagios + RedHat: icinga diff --git a/roles/icinga_plugins/tasks/main.yml b/roles/icinga_plugins/tasks/main.yml index 8a7b537..8cf189c 100644 --- a/roles/icinga_plugins/tasks/main.yml +++ b/roles/icinga_plugins/tasks/main.yml @@ -25,7 +25,7 @@ - icinga_install_plugins is defined - icinga_install_plugins | length > 0 - ansible_facts.os_family == "RedHat" - - ansible_facts.distribution_major_version|int is version('8', '>=') + - ansible_facts.distribution_major_version | int is version('8', '>=') - name: install icinga and nagios plugins ansible.builtin.package: @@ -35,7 +35,7 @@ when: - icinga_install_plugins is defined - icinga_install_plugins | length > 0 - - ansible_facts.distribution != "RedHat" and ansible_facts.distribution_major_version|int is version('8', '<') + - ansible_facts.os_family == "RedHat" and ansible_facts.distribution_major_version | int is version('7', "=") or ansible_facts.os_family == "Debian" - name: copy icinga plugins to target node ansible.builtin.copy: @@ -58,8 +58,8 @@ - name: set plugins ownership ansible.builtin.file: path: "{{ item.path }}" - owner: "icinga" - group: "icinga" + owner: "{{ icinga2_user[ansible_os_family] }}" + group: "{{ icinga2_group[ansible_os_family] }}" mode: 0755 loop: "{{ files_in_plugins_dir.files }}" loop_control: