From 99ff7284a3917feea71220a83dbfbce522b48514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Dubois?= Date: Wed, 13 Mar 2024 15:16:50 +0100 Subject: [PATCH] base, collectd, etc-git, logsentry, nagios-nrpe: install packages manually Because openbsd_pkg module is broken since OpenBSD 7.4 with the version of Ansible we currently use --- CHANGELOG | 1 + roles/base/tasks/openbsd_pkg_custom.yml | 17 ++++++++ roles/base/tasks/packages.yml | 42 +++++++++++++------ roles/collectd/tasks/main.yml | 23 ++++++++-- roles/etc-git/tasks/main.yml | 25 +++++++++-- roles/logsentry/tasks/main.yml | 27 +++++++++--- roles/nagios-nrpe/tasks/main.yml | 38 +++++++++++------ .../nagios-nrpe/tasks/openbsd_pkg_custom.yml | 15 +++++++ 8 files changed, 151 insertions(+), 37 deletions(-) create mode 100644 roles/base/tasks/openbsd_pkg_custom.yml create mode 100644 roles/nagios-nrpe/tasks/openbsd_pkg_custom.yml diff --git a/CHANGELOG b/CHANGELOG index d364087..b044dc7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -103,6 +103,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * collectd: fix rights for collectd directory * etc-git: Remove deprecated/unsupported "warn" parameter * ospf, bgp: fix checks scripts +* base, collectd, etc-git, logsentry, nagios-nrpe: install packages manually because openbsd_pkg module is broken since OpenBSD 7.4 with the version of Ansible we currently use ### Removed diff --git a/roles/base/tasks/openbsd_pkg_custom.yml b/roles/base/tasks/openbsd_pkg_custom.yml new file mode 100644 index 0000000..864cca9 --- /dev/null +++ b/roles/base/tasks/openbsd_pkg_custom.yml @@ -0,0 +1,17 @@ +--- + +- name: "Check if {{ package }} is already installed" + ansible.builtin.command: + cmd: pkg_info -Iq inst:{{ package }} + register: is_installed + ignore_errors: true + changed_when: false + tags: + - pkg + +- name: "Install {{ package }}" + ansible.builtin.command: + cmd: pkg_add {{ package }} + when: "'Can\\'t find inst:' in is_installed.stderr" + tags: + - pkg diff --git a/roles/base/tasks/packages.yml b/roles/base/tasks/packages.yml index 1c6128e..9aa9fdb 100644 --- a/roles/base/tasks/packages.yml +++ b/roles/base/tasks/packages.yml @@ -8,19 +8,37 @@ tags: - pkg +# openbsd_pkg is broken since OpenBSD 7.4 with the version of Ansible we currently use +#- name: "Install packages (vim rsync mtr etc)" +# community.general.openbsd_pkg: +# name: +# - wget +# - vim--no_x11 +# - rsync-- +# - mtr-- +# - iftop +# - sudo-- +# - bash +# - ncdu +# - htop +# ignore_errors: true +# tags: +# - pkg + - name: "Install packages (vim rsync mtr etc)" - community.general.openbsd_pkg: - name: - - wget - - vim--no_x11 - - rsync-- - - mtr-- - - iftop - - sudo-- - - bash - - ncdu - - htop - ignore_errors: true + include: openbsd_pkg_custom.yml + vars: + package: "{{ item }}" + loop: + - wget + - vim--no_x11 + - rsync-- + - mtr-- + - iftop + - sudo-- + - bash + - ncdu + - htop tags: - pkg diff --git a/roles/collectd/tasks/main.yml b/roles/collectd/tasks/main.yml index 9799628..9c7fb8e 100644 --- a/roles/collectd/tasks/main.yml +++ b/roles/collectd/tasks/main.yml @@ -1,8 +1,25 @@ # yamllint disable rule:line-length --- -- name: "Install Collectd package" - community.general.openbsd_pkg: - name: "collectd" +# openbsd_pkg is broken since OpenBSD 7.4 with the version of Ansible we currently use +#- name: "Install Collectd package" +# community.general.openbsd_pkg: +# name: "collectd" +# tags: +# - collectd + +- name: "Check if collectd is already installed" + ansible.builtin.command: + cmd: pkg_info -Iq inst:collectd + register: is_installed + ignore_errors: true + changed_when: false + tags: + - collectd + +- name: "Install collectd" + ansible.builtin.command: + cmd: pkg_add collectd + when: "'Can\\'t find inst:' in is_installed.stderr" tags: - collectd diff --git a/roles/etc-git/tasks/main.yml b/roles/etc-git/tasks/main.yml index 0c5dd12..1837f03 100644 --- a/roles/etc-git/tasks/main.yml +++ b/roles/etc-git/tasks/main.yml @@ -1,9 +1,26 @@ --- -- name: "Git is installed" - community.general.openbsd_pkg: - name: git - state: present +# openbsd_pkg is broken since OpenBSD 7.4 with the version of Ansible we currently use +#- name: "Git is installed" +# community.general.openbsd_pkg: +# name: git +# state: present +# tags: +# - etc-git + +- name: "Check if git is already installed" + ansible.builtin.command: + cmd: pkg_info -Iq inst:git + register: is_installed + ignore_errors: true + changed_when: false + tags: + - etc-git + +- name: "Install git" + ansible.builtin.command: + cmd: pkg_add git + when: "'Can\\'t find inst:' in is_installed.stderr" tags: - etc-git diff --git a/roles/logsentry/tasks/main.yml b/roles/logsentry/tasks/main.yml index 25e9e45..25c7826 100644 --- a/roles/logsentry/tasks/main.yml +++ b/roles/logsentry/tasks/main.yml @@ -1,9 +1,26 @@ --- -- name: "Install logsentry" - community.general.openbsd_pkg: - name: - - logsentry-- - state: present +# openbsd_pkg is broken since OpenBSD 7.4 with the version of Ansible we currently use +#- name: "Install logsentry" +# community.general.openbsd_pkg: +# name: +# - logsentry-- +# state: present +# tags: +# - logsentry + +- name: "Check if logsentry-- is already installed" + ansible.builtin.command: + cmd: pkg_info -Iq inst:logsentry-- + register: is_installed + ignore_errors: true + changed_when: false + tags: + - logsentry + +- name: "Install logsentry--" + ansible.builtin.command: + cmd: pkg_add logsentry-- + when: "'Can\\'t find inst:' in is_installed.stderr" tags: - logsentry diff --git a/roles/nagios-nrpe/tasks/main.yml b/roles/nagios-nrpe/tasks/main.yml index 6961046..03d09b6 100644 --- a/roles/nagios-nrpe/tasks/main.yml +++ b/roles/nagios-nrpe/tasks/main.yml @@ -1,19 +1,31 @@ # yamllint disable rule:line-length --- -- name: "Install nrpe" - community.general.openbsd_pkg: - name: - - nrpe-- - state: present - tags: - - nagios-nrpe +# openbsd_pkg is broken since OpenBSD 7.4 with the version of Ansible we currently use +#- name: "Install nrpe" +# community.general.openbsd_pkg: +# name: +# - nrpe-- +# state: present +# tags: +# - nagios-nrpe +# +#- name: "Install monitoring packages" +# community.general.openbsd_pkg: +# name: +# - monitoring-plugins +# - check_bioctl +# state: present +# tags: +# - nagios-nrpe -- name: "Install monitoring packages" - community.general.openbsd_pkg: - name: - - monitoring-plugins - - check_bioctl - state: present +- name: "Install nrpe and monitoring packages" + include: openbsd_pkg_custom.yml + vars: + package: "{{ item }}" + loop: + - nrpe-- + - monitoring-plugins + - check_bioctl tags: - nagios-nrpe diff --git a/roles/nagios-nrpe/tasks/openbsd_pkg_custom.yml b/roles/nagios-nrpe/tasks/openbsd_pkg_custom.yml new file mode 100644 index 0000000..bc6ae75 --- /dev/null +++ b/roles/nagios-nrpe/tasks/openbsd_pkg_custom.yml @@ -0,0 +1,15 @@ +- name: "Check if {{ package }} is already installed" + ansible.builtin.command: + cmd: pkg_info -Iq inst:{{ package }} + register: is_installed + ignore_errors: true + changed_when: false + tags: + - nagios-nrpe + +- name: "Install {{ package }}" + ansible.builtin.command: + cmd: pkg_add {{ package }} + when: "'Can\\'t find inst:' in is_installed.stderr" + tags: + - nagios-nrpe