ansible.xymon/tasks/main.yml

321 lines
8.7 KiB
YAML

---
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
#
# tasks file for ipr.ansible.xymon
- name: Load specific OS vars for xymon
include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_distribution|lower }}-{{ ansible_distribution_version }}.yml"
- "{{ ansible_distribution|lower }}.yml"
- "{{ ansible_os_family|lower }}.yml"
# Manage required client packages [[[1
- name: client package
package:
name: '{{ item }}'
state: '{{ xymon_cli_pkg_state }}'
with_items:
- '{{ xymon_cli_pkg_list | to_nice_json }}'
register: cli_result
until: cli_result is success
when: xymon_cli_manage|bool
# Manage client configuration [[[1
- name: CONFIG xymon-client service
template:
src: '{{ xymon_cli_default_conf_tpl }}'
dest: '{{ xymon_cli_default_conf_path }}'
owner: root
group: root
mode: 0644
backup: true
when: xymon_cli_manage|bool
notify: restart xymon-client service
- name: CONFIG xymon user's groups
user:
name: xymon
groups: '{{ xymon_user_groups }}'
append: true
when: xymon_cli_manage|bool
notify: restart xymon-client service
# Manage service [[[1
- name: SERVICE manage '{{ xymon_cli_service_name }}'
service:
name: '{{ xymon_cli_service_name }}'
state: started
enabled: '{{ xymon_cli_service_enabled }}'
when: (xymon_cli_manage|bool and
xymon_cli_service_manage|bool)
# Manage apt plugin [[[1
- name: PLUGIN apt packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_plug_apt_package | to_nice_json }}'
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_plug_apt_state|bool)
register: apt_plug_result
until: apt_plug_result is success
notify: restart xymon-client service
- name: PLUGIN apt
template:
src: '{{ xymon_plug_apt_tpl }}'
dest: '{{ xymon_plug_apt_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN apt no_repo_accept whitelist
template:
src: 'etc/xymon/apt_no_repo_accept.j2'
dest: '/etc/xymon/apt_no_repo_accept'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
# Manage ipmi plugin [[[1
- name: PLUGIN ipmi packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_ipmi_package | to_nice_json }}'
register: ipmi_plug_result
until: ipmi_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_ipmi_state|bool)
notify: restart xymon-client service
- name: PLUGIN ipmi
template:
src: '{{ xymon_cli__plug_ipmi_tpl }}'
dest: '{{ xymon_cli__plug_ipmi_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
# Manage libs plugin [[[1
- name: PLUGIN libs packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_plug_libs_package | to_nice_json }}'
register: libs_plug_result
until: libs_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_plug_libs_state|bool)
notify: restart xymon-client service
- name: PLUGIN libs
template:
src: '{{ xymon_plug_libs_tpl }}'
dest: '{{ xymon_plug_libs_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN libs whitelist
template:
src: 'etc/xymon/libs.local.yaml.j2'
dest: '/etc/xymon/libs.local.yaml'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
# Manage mq plugin [[[1
- name: PLUGIN mq packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_plug_mq_package | to_nice_json }}'
register: mq_plug_result
until: mq_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_plug_mq_state|bool)
notify: restart xymon-client service
- name: PLUGIN mq
template:
src: '{{ xymon_plug_mq_tpl }}'
dest: '{{ xymon_plug_mq_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
# Manage netstats plugin [[[1
- name: PLUGIN netstats packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_netstats_package | to_nice_json }}'
register: netstats_plug_result
until: netstats_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_netstats_state|bool)
notify: restart xymon-client service
- name: PLUGIN netstats config
template:
src: '{{ xymon_cli__plug_netstats_tpl }}'
dest: '{{ xymon_cli__plug_netstats_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
# Manage smartoverall plugin [[[1
- name: PLUGIN smartoverall packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_smartoverall_package | to_nice_json }}'
register: smartoverall_plug_result
until: smartoverall_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smartoverall_state|bool)
notify: restart xymon-client service
- name: PLUGIN smartoverall config
template:
src: '{{ xymon_cli__plug_smartoverall_tpl }}'
dest: '{{ xymon_cli__plug_smartoverall_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN smartoverall script file from template
template:
src: '{{ xymon_cli__plug_smartoverall_script_tpl }}'
dest: '{{ xymon_cli__plug_smartoverall_script_path }}'
owner: root
group: xymon
mode: 0755
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smartoverall_script_url|length == 0 )
notify: restart xymon-client service
- name: PLUGIN smartoverall script file from URL
get_url:
url: '{{ xymon_cli__plug_smartoverall_script_url }}'
dest: '{{ xymon_cli__plug_smartoverall_script_path }}'
owner: root
group: xymon
mode: 0755
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smartoverall_script_url|length > 0 )
notify: restart xymon-client service
# Manage smart plugin [[[1
- name: PLUGIN smart packages
package:
name: '{{ item }}'
state: 'present'
with_items:
- '{{ xymon_cli__plug_smart_package | to_nice_json }}'
register: smart_plug_result
until: smart_plug_result is success
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smart_state|bool)
notify: restart xymon-client service
- name: PLUGIN smart config
template:
src: '{{ xymon_cli__plug_smart_tpl }}'
dest: '{{ xymon_cli__plug_smart_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN smart script file from template
template:
src: '{{ xymon_cli__plug_smart_script_tpl }}'
dest: '{{ xymon_cli__plug_smart_script_path }}'
owner: root
group: xymon
mode: 0755
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smart_script_url|length == 0 )
notify: restart xymon-client service
- name: PLUGIN smart script file from URL
get_url:
url: '{{ xymon_cli__plug_smart_script_url }}'
dest: '{{ xymon_cli__plug_smart_script_path }}'
owner: root
group: xymon
mode: 0755
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool and
xymon_cli__plug_smart_script_url|length > 0 )
notify: restart xymon-client service
# Manage zfs plugin [[[1
- name: PLUGIN zfs config file
template:
src: '{{ xymon_cli__plug_zfs_tpl }}'
dest: '{{ xymon_cli__plug_zfs_path }}'
owner: root
group: root
mode: 0644
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service
- name: PLUGIN zfs script file
template:
src: '{{ xymon_cli__plug_zfs_script_tpl }}'
dest: '{{ xymon_cli__plug_zfs_script_path }}'
owner: root
group: xymon
mode: 0755
when: (xymon_cli_manage|bool and
xymon_plug_manage|bool)
notify: restart xymon-client service