Checkmk goes Ansible

So this one took a while. :hourglass_flowing_sand:
Announcing the Ansible Collection version 5.0.0! :partying_face:
As you can tell from the version number: This is a breaking release, so let me start by outlining the breaking changes:

  • The lookup_folder plugin now returns the full folder object, including the title and not only the attributes. To keep the current behavior in your playbooks, you want to use {{ my_lookup_result.extensions }} instead of {{ my_lookup_result }}. :mag:
  • The agent role had an internal variable checkmk_agent_server_ip which is now checkmk_agent_server_ips and is used differently. It just came to my attention, that users might consider this breaking, so I am mentioning it here.
  • Additionally, some changes listed below are quite significant, and although we could not detect any issues, we want to be safe and make you aware to pay hightened attention when rolling out this release. :safety_vest:

Not less important, but less annoying are the following changes:

  • The collection now supports Checkmk 2.3.0 completely. While a lot of content worked with the new Checkmk release already, this Collection release closes the gap. :checkered_flag:
  • The rule module got a rewrite based on the new collection API. This rewrite also features a new rule_id parameter, which makes the module so more powerful and improves the possible idempotence considerably. :muscle:
  • The discovery module now completely supports Checkmk 2.3.0, especially, when it comes to new option. It got two new options, which are available starting with Checkmk 2.3.0. And we fixed a bug when calling the tabula_rasa state.
  • We added some firewall management capabilities to the agent role by popular demand to enable more diverse setups. :fire:

A considerable amount of housekeeping did also take place. I am mentioning it here for transparency, but also to show off a little. :wink:

  • We added Ubuntu 24 to the tests for our roles, to ensure, they work properly on the new distribution release. In turn we removed CentOS 8 due to it not beim compatible with the latest Ansible versions and Ubuntu 20 as it is quite dated. :older_adult: As well as below, removal from the tests does not mean the distribution is not supported anymore, we just do not test against it anymore. :gear:
  • All tests now cover Checkmk 2.3.0, while 2.0.0 was removed from them. The removal does not mean, that the collection will not work with Checkmk 2.0.0 anymore, just that we do not test against it anymore.
  • We added Ansible 2.17 and removed 2.14 from the tests, as the latter is end of life. Be advised, that Ansible 2.17 drops support for Python 2.7 and 3.6. :snake:

Instead of mentioning the contributors on this massive release in all the places they worked on, I want to instead thank them here: @lars.getwan, @Max and @sekania thank you so much for your untiring and relentless efforts to make this release happen! :heart:
It was a long road, but we finally landed it! :flight_arrival:

6 Likes