ansible-collection-checkmk.general
ansible-collection-checkmk.general copied to clipboard
[BUG] discovery task does not change monitored services
Verify first that your issue is not already reported here. Where possible also test if the latest release and main branch are affected too. Complete all sections as described!
Describe the bug
"fix_all" discovery task reports changed but site does not show any changes
Component Name
discovery
Ansible Version
# ansible --version
ansible [core 2.13.5]
config file = /home/teridon/git/ansible/ansible-test.cfg
configured module search path = ['/home/teridon/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/teridon/.local/share/virtualenvs/ansible-LSniJhgO/lib/python3.10/site-packages/ansible
ansible collection location = /home/teridon/.ansible/collections:/usr/share/ansible/collections
executable location = /home/teridon/.local/share/virtualenvs/ansible-LSniJhgO/bin/ansible
python version = 3.10.5 (main, Jul 7 2022, 17:58:46) [GCC 8.5.0 20210514 (Red Hat 8.5.0-10)]
jinja version = 3.1.2
libyaml = True
Checkmk Version
2.0.0p23 (CEE)
Collection Version
# ansible-galaxy collection list
# /home/teridon/.ansible/collections/ansible_collections
Collection Version
------------------ -------
ansible.posix 1.4.0
community.general 6.0.0
dellemc.openmanage 6.3.0
pfsensible.core 0.4.2
tribe29.checkmk 0.11.0
# /home/teridon/.local/share/virtualenvs/ansible-LSniJhgO/lib/python3.10/site-packages/ansible_collections
Collection Version
----------------------------- -------
amazon.aws 3.5.0
ansible.netcommon 3.1.3
ansible.posix 1.4.0
ansible.utils 2.6.1
ansible.windows 1.11.1
arista.eos 5.0.1
awx.awx 21.7.0
azure.azcollection 1.13.0
check_point.mgmt 2.3.0
chocolatey.chocolatey 1.3.1
cisco.aci 2.2.0
cisco.asa 3.1.0
cisco.dnac 6.6.0
cisco.intersight 1.0.19
cisco.ios 3.3.2
cisco.iosxr 3.3.1
cisco.ise 2.5.5
cisco.meraki 2.11.0
cisco.mso 2.0.0
cisco.nso 1.0.3
cisco.nxos 3.2.0
cisco.ucs 1.8.0
cloud.common 2.1.2
cloudscale_ch.cloud 2.2.2
community.aws 3.6.0
community.azure 1.1.0
community.ciscosmb 1.0.5
community.crypto 2.7.0
community.digitalocean 1.22.0
community.dns 2.3.3
community.docker 2.7.1
community.fortios 1.0.0
community.general 5.7.0
community.google 1.0.0
community.grafana 1.5.3
community.hashi_vault 3.3.1
community.hrobot 1.5.2
community.libvirt 1.2.0
community.mongodb 1.4.2
community.mysql 3.5.1
community.network 4.0.1
community.okd 2.2.0
community.postgresql 2.2.0
community.proxysql 1.4.0
community.rabbitmq 1.2.2
community.routeros 2.3.0
community.sap 1.0.0
community.sap_libs 1.3.0
community.skydive 1.0.0
community.sops 1.4.1
community.vmware 2.10.0
community.windows 1.11.0
community.zabbix 1.8.0
containers.podman 1.9.4
cyberark.conjur 1.2.0
cyberark.pas 1.0.14
dellemc.enterprise_sonic 1.1.2
dellemc.openmanage 5.5.0
dellemc.os10 1.1.1
dellemc.os6 1.0.7
dellemc.os9 1.0.4
f5networks.f5_modules 1.20.0
fortinet.fortimanager 2.1.5
fortinet.fortios 2.1.7
frr.frr 2.0.0
gluster.gluster 1.0.2
google.cloud 1.0.2
hetzner.hcloud 1.8.2
hpe.nimble 1.1.4
ibm.qradar 2.1.0
ibm.spectrum_virtualize 1.10.0
infinidat.infinibox 1.3.3
infoblox.nios_modules 1.4.0
inspur.ispim 1.1.0
inspur.sm 2.2.0
junipernetworks.junos 3.1.0
kubernetes.core 2.3.2
mellanox.onyx 1.0.0
netapp.aws 21.7.0
netapp.azure 21.10.0
netapp.cloudmanager 21.20.1
netapp.elementsw 21.7.0
netapp.ontap 21.24.1
netapp.storagegrid 21.11.1
netapp.um_info 21.8.0
netapp_eseries.santricity 1.3.1
netbox.netbox 3.8.0
ngine_io.cloudstack 2.2.4
ngine_io.exoscale 1.0.0
ngine_io.vultr 1.1.2
openstack.cloud 1.10.0
openvswitch.openvswitch 2.1.0
ovirt.ovirt 2.2.3
purestorage.flasharray 1.14.0
purestorage.flashblade 1.10.0
purestorage.fusion 1.1.1
sensu.sensu_go 1.13.1
servicenow.servicenow 1.0.6
splunk.es 2.1.0
t_systems_mms.icinga_director 1.31.0
theforeman.foreman 3.7.0
vmware.vmware_rest 2.2.0
vultr.cloud 1.1.0
vyos.vyos 3.0.1
wti.remote 1.0.4
Environment
OS: RHEL 8.6 python 3.10.5
To Reproduce Steps to reproduce the behavior:
# cat testing/checkmk-activate-test.yml
---
- name: "Test activation modules."
hosts: all
gather_facts: 'no'
tasks:
- name: "Create host."
tribe29.checkmk.host:
server_url: "{{ server_url }}"
site: "{{ site }}"
automation_user: "{{ automation_user }}"
automation_secret: "{{ automation_secret }}"
host_name: "{{ inventory_hostname }}"
folder: /gse
attributes:
site: "{{ site }}"
state: present
delegate_to: localhost
- name: "Discover services on host."
tribe29.checkmk.discovery:
server_url: "{{ server_url }}"
site: "{{ site }}"
automation_user: "{{ automation_user }}"
automation_secret: "{{ automation_secret }}"
host_name: "{{ inventory_hostname }}"
state: "fix_all"
delegate_to: localhost
- name: "Pause to review first set of changes."
ansible.builtin.pause:
prompt: |
"Feel free to review the changes in your Checkmk site: {{ site }}."
"Press <Enter> to continue."
- name: "Activate changes on site - Showcase no changes."
tribe29.checkmk.activation:
server_url: "{{ server_url }}"
site: "{{ site }}"
automation_user: "{{ automation_user }}"
automation_secret: "{{ automation_secret }}"
force_foreign_changes: 'true'
sites:
- "{{ site }}"
delegate_to: localhost
run_once: 'true'
Expected behavior
after the discovery task, the state of the site should have at least 1 change and the GUI should show all services for the new host in the "monitored" state.
Actual behavior
The monitored host shows all services as "undecided"
Screenshots

Additional context
While also investigating this collection, I saw this comment in tests:
https://github.com/tribe29/ansible-collection-tribe29.checkmk/blob/6d7e4b5e17dd0097a1ba20d7adda2cdfaeb66ee7/playbooks/test-full.yml#L99
"refresh" is the only method working correctly, currently :-( # See https://jira.lan.tribe29.com/browse/CMK-7200
https://forum.checkmk.com/t/rest-api-issue-regarding-service-discovery/23899/2
So it sounds like the issue is in the REST API (?). If that's the case, do we change the collection to match the current REST API, or leave this issue open until the REST API is fixed? Is the issue only present in older versions of checkmk ? I admit I did not try a later version to see if the REST API is fixed.
I would have to double-check, but I think this fixed in Checkmk 2.1. You should upgrade to the latest version and test this again. We are always tracking the latest Checkmk release with this collection, so older Checkmk versions might work, but we cannot guarantee that.