checkmk_deploy_agent/tasks/main.yml
2025-12-01 11:50:28 +01:00

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"