83 lines
3.2 KiB
YAML
83 lines
3.2 KiB
YAML
---
|
|
- name: "Preflight - Fail if Checkmk Edition is incorrect."
|
|
ansible.builtin.fail:
|
|
msg: "The provided Checkmk Edition '{{ checkmk_agent_edition }}' does not exist or is not supported by this role."
|
|
when: checkmk_agent_edition | lower not in __checkmk_agent_edition_mapping
|
|
|
|
- name: "{{ ansible_os_family }}: Include OS family specific variables."
|
|
ansible.builtin.include_vars: "{{ ansible_os_family }}.yml"
|
|
tags:
|
|
- include-os-family-vars
|
|
|
|
- name: "{{ ansible_system }}: Include File Management."
|
|
ansible.builtin.include_tasks: "{{ ansible_system }}-files.yml"
|
|
tags:
|
|
- include-system-tasks
|
|
- download-package
|
|
|
|
- name: "{{ ansible_system }}: Include OS specific tasks."
|
|
ansible.builtin.include_tasks: "{{ ansible_system }}.yml"
|
|
tags:
|
|
- include-system-tasks
|
|
|
|
- name: "Activate pending CheckMK configuration changes before discovery."
|
|
become: false
|
|
checkmk.general.activation:
|
|
server_url: "{{ checkmk_agent_server_protocol }}://{{ checkmk_agent_server }}:{{ checkmk_agent_server_port }}/"
|
|
site: "{{ checkmk_agent_site }}"
|
|
validate_certs: "{{ checkmk_agent_server_validate_certs | bool }}"
|
|
automation_user: "{{ checkmk_agent_user }}"
|
|
automation_secret: "{{ __checkmk_agent_auth }}"
|
|
force_foreign_changes: true
|
|
sites:
|
|
- "{{ checkmk_agent_site }}"
|
|
delegate_to: "{{ checkmk_agent_delegate_api_calls }}"
|
|
run_once: true
|
|
when: checkmk_agent_discover | bool
|
|
register: __checkmk_agent_activation
|
|
ignore_errors: true
|
|
|
|
- name: "Wait for activation to complete."
|
|
ansible.builtin.pause:
|
|
seconds: "{{ checkmk_agent_activation_wait_seconds | default(60) }}"
|
|
run_once: true
|
|
when:
|
|
- checkmk_agent_discover | bool
|
|
- __checkmk_agent_activation is changed
|
|
|
|
- name: "Fetch fresh monitoring data from host."
|
|
become: false
|
|
checkmk.general.discovery:
|
|
server_url: "{{ checkmk_agent_server_protocol }}://{{ checkmk_agent_server }}:{{ checkmk_agent_server_port }}/"
|
|
site: "{{ checkmk_agent_site }}"
|
|
validate_certs: "{{ checkmk_agent_server_validate_certs | bool }}"
|
|
automation_user: "{{ checkmk_agent_user }}"
|
|
automation_secret: "{{ __checkmk_agent_auth }}"
|
|
host_name: "{{ checkmk_agent_host_name }}"
|
|
state: "refresh"
|
|
throttle: "{{ checkmk_agent_discover_max_parallel_tasks }}"
|
|
delegate_to: "{{ checkmk_agent_delegate_api_calls }}"
|
|
when: checkmk_agent_discover | bool
|
|
register: __checkmk_agent_refresh_state
|
|
retries: 3
|
|
delay: 10
|
|
until: "__checkmk_agent_refresh_state.changed | bool"
|
|
|
|
- name: "Update monitored services and labels on host."
|
|
become: false
|
|
checkmk.general.discovery:
|
|
server_url: "{{ checkmk_agent_server_protocol }}://{{ checkmk_agent_server }}:{{ checkmk_agent_server_port }}/"
|
|
site: "{{ checkmk_agent_site }}"
|
|
validate_certs: "{{ checkmk_agent_server_validate_certs | bool }}"
|
|
automation_user: "{{ checkmk_agent_user }}"
|
|
automation_secret: "{{ __checkmk_agent_auth }}"
|
|
host_name: "{{ checkmk_agent_host_name }}"
|
|
state: "tabula_rasa"
|
|
throttle: "{{ checkmk_agent_discover_max_parallel_tasks }}"
|
|
delegate_to: "{{ checkmk_agent_delegate_api_calls }}"
|
|
when: checkmk_agent_discover | bool
|
|
register: __checkmk_agent_discovery_state
|
|
retries: 3
|
|
delay: 10
|
|
until: "__checkmk_agent_discovery_state.changed | bool"
|
|
notify: "Activate changes" |