Checkmk goes Ansible

We just discovered a small but impactful bug in the last release:
The rule module would create all rules, no matter the provided conditions without these conditions. :beetle:

This has been fixed with bugfix release 4.3.1. :hammer_and_wrench:

Shout out to Mik3yZ for noticing and fixing this issue so quickly! :muscle:

2 Likes

Wow, time flies, we are already past Easter. :nest_with_eggs: :rabbit2:
It has been two months, since the last release, and while my colleagues and I enjoyed some well deserved vacation, the community was buzzing. :honeybee:

So without further ado: Say hi to the Checkmk Ansible Collection 4.4.0! :wave:

The most notable changes in this release:

  • @sekania rewrote the host module entirely, porting it to the new collection API, enabling check mode and adding support for cluster hosts. Great job! :muscle:
  • @sekania also updated the way the host module handles host attributes. Please refer to the official documentation for more details. :bulb:
  • @sekania also fixed two bugs in the folder module. One was about the handling of uppercase and lowercase names, the other one about the name argument being ignored entirely. :hammer_and_wrench:

@sekania scored a hat-trick with this one, if you allow the soccer reference. :soccer:
Thanks a ton for the continuous contributions! :pray:

5 Likes

Just a quick bug fix release with no major changes today: 4.4.1. :hammer_and_wrench:

With version 4.4.0 we introduced a bug in the hosts module that would always create hosts in the main directory under certain conditions. This is fixed with this release. :adhesive_bandage:

2 Likes

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

This release is all about the agent role. :man_detective:
Announcing the Checkmk Ansible Collection 5.1.0. :partying_face:
As you can tell, we did not even need to do a bug fix release for the breaking release some days ago, we directly went on to new features. Way to go! :muscle:

This release features the following notable changes:

  • All internal variables for both the agent and server roles are now prefixed with a double underscore (__) per Ansible good practices. In case you hooked into any of them, please make sure to double-check your playbooks and avoid using role-internal variables moving forward. If you think the role is not flexible enough for your use-case, do let us know in form of an issue or pull request! :v:
  • The agent role now features improved idempotency by checking for the necessity of actually running any of the registrations beforehand. This feature might not be perfect yet, so please do report issues in case you find them! :warning:
  • We fixed a bug in the agent role, that would prevent Windows hosts from downloading their host-specific agent, even if it existed. Thanks to the finder of this issue, who prefers to stay anonymous. :man_detective::wink:
  • Little bonus: The release object on GitHub now contains the changelog for the version. It is a little hacky, but we love it and we hope you do too. Check out the link below. :mag:

As always, if you find any issue with this release, do let us know here in the forum or on GitHub. :eyes:

5 Likes

A post was split to a new topic: Issues with the Ansible Collection

It’s time for a Checkmk Collection release, don’t y’all think?! :wink:
Announcing another release with some cool fixes and updates! :tada:

First-off, I want to give a shout-out to our new first-time contributors: maroessler · GitHub, gfokkema (Gerlof Fokkema) · GitHub and krsche (Fabian Kirschner) · GitHub, thank you for your contributions! :pray: I have not done this before, not intentionally, but because I never thought of it. Sorry if I did not mention you here, but I did mention you at our last year’s CMKConf #9. :video_camera:

Now to the notable changes:

  • @Max rewrote the tag_group module to use our new Collection API and made it support the next major Checkmk version 2.4.0, which will be released next year. :muscle:
  • gfokkema enabled usage of mixed protocols on Checkmk sites for the agent role. This means you can now register the agent e.g., against an HTTP remote site, where the central site is HTTPS-protected or vice versa. This was not possible before. :lock:
  • The improved idempotency of the agent came with a bug, where registration for agent updates was not possible after a failed former attempt. This is fixed now. :adhesive_bandage:
  • maroessler fixed an issue where downtimes would not be removed properly, when targeting a single service. :wrench:
  • krsche added a missing mention of a dependency in the main README.md. :scroll:

As always, if you find any issue with this release, do let us know here in the forum or on GitHub. :eyes:

3 Likes

Just a quick bug fix release today. :bug:

Thanks Mik3yZ and Dennis-Q for staying vigilant and seeing this through to the eventual fix! :pray:

Without further ado, I give you: 5.2.1:

  • @lgetwan fixed a bug, where update_attributes failed on a folder with the Network Scan enabled. :hammer_and_wrench:
2 Likes

Long time in the making, but I promise: It was worth the wait. :blush:

Proudly presenting: The Checkmk Ansible Collection version 5.3.0! :tada:

This release contains not one, not two, but three new modules! :exploding_head:
To be fair, two of them are lookup modules, but nevertheless.

And as if that wasn’t enough already, I got one more treat for you: The first version of a dynamic inventory source! :scroll:

Most notable changes:

  • @lars.getwan added the site module to manage distributed monitoring connection alongside with two matching lookup plugins: lookup_site and lookup_sites. Nice one! :muscle:
  • @Max created the first version of a dynamic inventory source for Checkmk! :partying_face: Of course that is not the end of the journey, quite contrary is it off to a strong start. :checkered_flag:
  • Last but not least we have two bug fixes from @sekania, one for the rule module and one for the folder module (the latter being implemented by yours truly :wink: ). Thanks for helping out continuously, man! :handshake:

As always, if you find issues or have feedback, head over to GitHub, or open a dedicated discussion in this forum. :speaking_head:

And now without further ado, I hope you enjoy this release as much as we do! Cheers! :piñata:

6 Likes

A quick bugfix release, courtesy of @sekania, who was on a bug squashing spree. :beetle:

Fixes included:

  • contact_groups, host_groups and service_groups now properly pass the customer attribute, when using the groups parameter. :adhesive_bandage:
  • The rule module now properly moves an existing rule to a new folder. :file_folder:
1 Like

Happy holidays everyone! :hugs:

I would not want to let you go for some well deserved downtime (monitoring pun intended), without a little holiday present: The Checkmk Ansible Collection 5.3.2. :gift:

As you can see from the version, this is a bugfix release and does not really change much.
Please refer to the release pull request for the build- and documentation-related changes.

Again, happy holidays, have a good time off, or at least a quiet time with a monitoring, which is more on the green side of the Christmas tree. :christmas_tree::wink:

See y’all on the other side in 2025! :fireworks:

2 Likes

Happy new year everyone! :sparkler:
(Yeah, I said it. Again. Two weeks into the year. But now it is out of my system. Pinky promise. :wink:)

We have a little treat for you: The Checkmk Ansible Collection 5.4.0 :tada:

There are two changes worth mentioning:

  • HarisDotParis clarified the docs, where it was not obvious, how the parameters server_url and site are related and what it means for the user’s configuration. Thanks! :scroll:
  • ra2xfael Introduced the possibility to use proxy registration with the agent role. This enables elaborate use-cases, where network connectivity is limited between a monitored host and the Checkmk server. Neat! :muscle:

Both are first-time contributors, so a big shout-put for stepping up! :hugs:

4 Likes

And just like that, sneakily as a snail did we release 5.5.0! :snail:

This release features mostly maintenance related changes, but one thing I want to highlight:
ra2xfael struck again and landed the possibility to configure the /tmp directory for the server role, as well as fixing an issue with file permissions in the agent role. Two times in a row making a release, nice job! :muscle:

And with that, I’ll leave you to it. Have a wonderful night everyone. :hugs:

5 Likes

Another week, another release. Announcing the Checkmk Ansible Collection 5.6.0. :tada:

ra2xfael just scored a hat trick, with their third contribution in a row. :muscle:

This release features MKP management for the server role. :package:
Refer to the role’s README for details on how to use this new feature. :open_book:

2 Likes

Some love for the agent role! :robot: Announcing the Ansible Collection 5.7.0. :tada:

This release contains one feature and one bug fix:

  • LennertMertens made the time to download an agent from the Checkmk server configurable. Apparently this can be necessary, when the role runs on Windows. Thanks! :window:
    • Note from the editor: This setting should rarely be necessary, as the default timeouts are already rather high. So only tweak this setting if you are positive, that the start of the download itself takes awfully long. Not the download itself, but the idle time before the download actually starts.
  • schnoddelbotz found an issue with special characters in the password or secret used for agent registrations and directly fixed it. Thanks! :lock:

Both people are first-time contributors, so let’s welcome them to the realms of collection code contributors. Way to go guys! :metal:

2 Likes

This one is a big one! :metal: Announcing the Checkmk Ansible Collection 5.8.0! :tada:

With the start of the public beta of Checkmk 2.4.0 a while back it is about time, that the collection features full support for this version. And with this release, it finally does. Most features of course just continued to work, but a few aspects needed some love. :hammer_and_wrench:

A big shout out to @lars.getwan, who made most of the fixes necessary for Checkmk 2.4.0 possible! :pray:

Additionally, ra2xfael made the URL for the GPG key download of the server role configurable, so it can be fetched from a custom location and not only from the official Checkmk repository. Neat! :key:

2 Likes