Skip to content

Latest commit

 

History

History
1062 lines (710 loc) · 29.3 KB

CHANGELOG.rst

File metadata and controls

1062 lines (710 loc) · 29.3 KB

checkmk.general Release Notes

Topics

Some love for the agent role.

  • Agent role - All internal variables are now prefixed with a double underscore (__). If you hooked into any variable, which is not in defaults/main.yml you need to check your inventory. Be advised, that it is bad practice, to use internal variables directly.
  • Agent role - Improve idempotency by reading the registration states both for Agent registration and Updater registration and skipping the registration if it is not necessary.
  • Server role - All internal variables are now prefixed with a double underscore (__). If you hooked into any variable, which is not in defaults/main.yml you need to check your inventory. Be advised, that it is bad practice, to use internal variables directly.
  • Testing - Testing against Python 3.8 was removed for all modules.
  • Agent role - For Windows hosts the download of correct setup files was broken due to a mixup in the modules used to fetch the files. The role would always fall back to the GENERIC agent, even if a specific agent was available. This is fixed now.

(Re)writing history with overhauled modules and updated Checkmk, Ansible, Distribution and Python support.

  • Discovery module - The module now fully supports Checkmk 2.3.0. Additionally, two new parameters were introduced, update_service_labels and monitor_undecided_services. Refer to the module documentation for further details.
  • Rule module - The complete module was rewritten to use the new module API. Additionally, a parameter "rule_id" was introduced to modify existing rules. Refer to the module documentation for further details.
  • Agent role - Add support to open firewall for a list of IPs.
  • Agent role - Replace ansible.builtin.yum with the succeeding ansible.builtin.dnf.
  • Server role - Replace ansible.builtin.yum with the succeeding ansible.builtin.dnf.
  • Several modules - Remove unnecessary HTTP codes which get already imported via utils.py.
  • Testing - Add Ansible 2.17 to all tests. Be advised, that this Ansible release drops support for Python 2.7 and 3.6.
  • Testing - Add Ubuntu 24.04 to the Molecule tests.
  • Testing - All tests now cover Checkmk 2.3.0.
  • Testing - Remove Ansible 2.14 from all tests, as it is EOL.
  • Testing - Remove Checkmk 2.0.0 from all tests, as it is EOL.
  • Testing - The Molecule tests now run on Ubuntu 22.04.
  • Agent role - Not really a breaking change, but we removed the internal variable checkmk_agent_server_ip. If you set this variable in your inventory, please make sure to update your configuration accordingly!
  • Folder lookup module - Return the complete folder information, not only the extensions. To keep the current behavior in your playbooks, you want to use {{ my_lookup_result.extensions }} instead of {{ my_lookup_result }}.

Bugfix Release.

  • Add 'ansible.utils' collection as an explicitely dependency. We already had this dependency, but are now declaring it explicitely.
  • Host module - Fix hosts always being created in the main directory.

Spring is here! With a rewritten host module including check mode and cluster support.

  • Host module - Add support for cluster hosts.
  • Host module - Enable check mode.
  • Host module - Update attribute management behavior. Refer to the documentation for details.
  • Host module - Migrate module to the new collection API.
  • Bakery module - Fix failing integration test due to wrong key passphrase.
  • Folder module - Fix issue where the name (alias title) was entirely ignored.
  • Folder module - Fix issues with uppercase and lowercase names.

Bugfix Release.

  • Rule module - Fix empty rule conditions.

Reworking the CI, enhancing code quality and improving modules.

  • Folder module - Extend attribute management. Please refer to the module documentation for more details.
  • Lookup modules - Enable usage of ini files, environment and inventory variables to configure basic settings for the lookup plugins, like e.g., the server_url or site alongside the authentication options. Refer to the module documentation for details.
  • Rule module - Introduce rule_id to uniquely identify rules. This ID can be retrieved e.g., using the lookup plugin. Refer to the module documentation for further details.
  • Folder module - Fix idempotency when using "attributes" parameter for creating a folder.
  • Folder module - Parents will be parsed properly now. This means, that parents given as a string will now be parsed as a list of one.
  • Host module - Parents will be parsed properly now. This means, that parents given as a string will now be parsed as a list of one.
  • User module - Fix bug, where an absent user was created, if 'reset_password' was used.
  • Lookup modules - When using inventory variables to configure e.g., the server_url, it is not possible to assign other variables to these variables. This is a limitation of Ansible itself.

Happy New Year!

  • Tag_group module - Rewrite module and migrate to new collection API.
  • User module - Rewrite module and migrate to new collection API.
  • Server role - Improve role speed by skipping downloads.
  • Tag_group module - Enable help and repair options.
  • User module - Enable several interface options.
  • Agent role - Fix become in handler, which could cause errors on delegation.
  • Rule module - Fix idempotency for rule location relative to another rule_id, by getting the target folder from neighbour rule.

Happy holidays, everyone!

  • Rule lookup plugin - Show a particular rule.
  • Rules lookup plugin - List the rules of a ruleset.
  • Ruleset lookup plugin - Show a particular ruleset.
  • Rulesets lookup plugin - Search rulesets.
  • Password module - Improve error handling.
  • Password module - Fix non-required module options being wrongly required.

Move fast, break things.

  • Bakery lookup plugin - Get the status of the Checkmk Agent Bakery.
  • Activation module - Implement proper support for redirect parameter. This means, the activation module can now optionally wait for a completed activation or just trigger it and move on.
  • Discovery module - Print error message, when using state "tabula_rasa" in bulk discovery mode, because that state is not supported by the API.
  • Lookup API - Add improved error handling.
  • Agent role - We restructured the agent. That entails a lot of changes, and we tried to keep everything stable. However, we cannot guarantee stability as we do not know all use-cases out there. Hence this change is also considered breaking.
  • Server role - It became necessary to make the way states are handled more consistent. The most siginificant change is, that all sites not in state "started" will be stopped. For all other states please consult the role's README.
  • Variable names - We aligned the names of variables throughout the collection. This can impact your existing configuration. Please review the variable names and apapt your configuration accordingly. For more details see CONTRIBUTING.md.
  • checkmk.general.bakery - Get the bakery status of a Checkmk server

Supporting managed service providers, admins and security. All in one release.

  • Agent role - Avoid logging passwords by default for extra security
  • Agent role - Introduce variable to configure agent mode. Refer to the README.
  • Contact group module - Add support for the Checkmk Managed Edition (CME).
  • Host group module - Add support for the Checkmk Managed Edition (CME).
  • Password module - Add support for the Checkmk Managed Edition (CME).
  • Server role - Add new states "enabled" and "disabled" for site management.
  • Server role - Avoid logging passwords by default for extra security
  • Server role - Enable configuration of omd config values. Refer to the README for details.
  • Service group module - Add support for the Checkmk Managed Edition (CME).
  • User module - Add support for the Checkmk Managed Edition (CME).
  • Agent role - Fix agent port check for agent modes other than "pull".

This is the librarian release: We added some lookups.

  • Folder lookup plugin - Look up the configuration of a folder.
  • Folders lookup plugin - Look up all folders.
  • Host lookup plugin - Look up the configuration of a host.
  • Hosts lookup plugin - Look up all hosts.
  • Timeperiod module - Add timeperiod module.
  • Agent role - Add support for firewall configuration on Debian derivates.
  • Discovery module - Use the version comparison utils.
  • Server role - Site management can now be done without specifying 'admin_pw'.
  • Utils - Provide a class CheckmkVersion to simplify version comparison.
  • Agent role - Performing the agent registration on a remote would fail, if the host was just created. This release introduces a workaround to enable this.
  • Folder module - When creating a new folder with "attributes" parameter, the attributes were ignored. This is now fixed.
  • Server role - Not having to provide an admin password introduces a problem though, as users could create sites without knowing the randomly generated password. A task is introduced to mitigate this, but the solution there could be improved.
  • checkmk.general.folder - Get folder attributes
  • checkmk.general.folders - Get various information about a folder
  • checkmk.general.host - Get host attributes
  • checkmk.general.hosts - Get various information about a host
  • checkmk.general.timeperiod - Manage time periods in checkmk.
  • Agent role - Add preflight check for correct Checkmk edition.
  • Agent role - Allow the role to download folder-specific agents.
  • Server role - Add preflight check for correct Checkmk edition.
  • Agent role - Fix activation handler URL.
  • Agent role - Fix agent and update registration on remote sites.

It is summer and you want to look outside, so we added Windows.

  • Agent role - Add support for Windows.
  • Version lookup plugin - Add Version lookup plugin.
  • Discovery module - Add handling for 409 response.
  • checkmk.general.version - Get the version of a Checkmk server

Removing deprecated module options and more cleaning.

  • Agent role - Allow throttling of discovery task to limit load on Checkmk server.
  • Folder module - Warn about mutually exclusive attribute options on older Checkmk versions and fail on recent Checkmk versions. See 'Breaking Changes'.
  • Folder module - The module options 'attributes', 'update_attributes' and 'remove_attributes' are now mutually exclusive. Using more than one on a single task will cause a warning or error.
  • Host group module - Deprecated options 'host_group_name' and 'host_groups' were removed. Use 'name' and 'groups' instead!
  • Host module - Deprecated option 'host_name' was removed. Use 'name' instead!
  • Rule module - Deprecated option 'folder' was removed. Use 'location' instead!
  • Agent role - The activate changes handler was missing the server port. This is fixed now.

Enabling more operating systems!

  • Agent role - Ensure fresh data before adding services to host.
  • Agent role - Ensure support for Debian 12.
  • Discovery module - Improve resilience and stability.
  • Server role - Add feature to clean up unused Checkmk versions on the server.
  • Server role - Enable explicit support for Oracle Linux 8.
  • Server role - Ensure explicit support for Debian 12.
  • Discovery module - The module does not work on a controller host with Python 2.

Features all over the place!

  • Discovery module - Add support for bulk discoveries.
  • Password module - Add password module.
  • Server role - Add support for RHEL and CentOS 9
  • Utils - Introduce retries for API calls in case of timeouts.
  • checkmk.general.password - Manage passwords in checkmk.

Extend OS support in roles and fix some minor issues in modules.

  • Activation module - Properly add If-Match header.
  • Agent role - Add support for AlmaLinux and Rocky Linux, both versions 8 and 9.
  • Agent role - Bump default Checkmk version to 2.2.0.
  • Module utils - Remove workaround from version 2.1.0, where all modules were passed the If-Match header.
  • Server role - Add support for AlmaLinux and Rocky Linux, both versions 8 and 9.
  • Server role - Bump default Checkmk version to 2.2.0.
  • Downtime module - The comment has a default value now
  • Bakery module - Migrated to use module_utils.
  • Discovery module - Migrated to use module_utils.
  • contact_group module - The module was not compatible with Checkmk 2.2. This is fixed now.
  • host_group module - The module was not compatible with Checkmk 2.2. This is fixed now.
  • service_group module - The module was not compatible with Checkmk 2.2. This is fixed now.
  • Discovery module - Properly handle redirects to wait for completion of background jobs.
  • Downtime module - The module handles timezones properly now.
  • Integration tests - A bug was fixed, where the integration tests did not use the correct Checkmk version.
  • Utils - With Checkmk 2.2.0p3 the activation introduces a breaking change, which we need to handle. As a workaround we added the 'If-Match' header to all API requests.
  • Utils - All API calls send the 'If-Match' header. This is a workaround and will be fixed in a future release.

Welcome to the new world!

  • The renaming of the collection has concluded. If you are reading this, you on the right release and repository and should be able to use the collection just as you are used to. Make sure to double check, that you are using the new FQCNs!

This collection was renamed to checkmk.general. Please use the new name moving forward!

  • This collection was renamed and module redirects have been activated. That means, if you are using this release, you also need the new collection to be installed. Otherwise things will break for you. In any way you should now move to the new collection name: checkmk.general.
  • folder module - Add support for 'update_attributes' and 'remove_attributes'. Read the documentation for further details.
  • folder module - Add support for check mode.
  • tag_group module - Code cleanup. Should have no effect on functionality, but mentioning it here for transparency.

Further centralizing.

  • module_utils - Extend centralization by providing types and further utils.
  • Playbooks - Reorganize and clean up playbooks. This is a constant work in progress.
  • Add Bakery module
  • Server role - Added support for almalinux
  • Agent role - Fix activate changes handler failing with self-signed certificate
  • checkmk.general.bakery - Trigger baking and signing in the agent bakery.
  • Agent role - Make firewall zone configurable on RedHat derivates.
  • Host module - Enable update and removal of attributes in addition to fully managing them. This is analogous to the Checkmk REST API. Additionally the "folder" attribute has no default value anymore except on creation.
  • Rule module - Fix crash, if the Checkmk REST API does not return a value for the "disabled" property.

Centralizing functions.

  • We dropped support for Ansible 2.11 and Python 2 entirely. That means you can still use this collection with older versions, we just do not test against them anymore.
  • module_utils - Introduce a centralized library to call the Checkmk API.
  • We added support for Ansible 2.14.
  • User module - Fix creation of automation users.
  • Add user module.
  • Rule module - Enable check mode.
  • Agent role - Fix support for CCE.
  • User module - Currently no automation users can be created due to a mismatch of 'auth_type'
  • User module - The parameter "interface_options" is not yet usable
  • checkmk.general.user - Manage users in Checkmk.
  • Agent role - Add cloud edition support.

Collected bugfixes.

  • Agent role - Make forcing of foreign changes on activation by handler configurable.
  • Rule module - Improve rule comparison logic. No dummy rule is necessary for comparison anymore.
  • contact_group module - Fix Ansible Galaxy linting findings.
  • discovery module - Fix Ansible Galaxy linting findings.
  • downtime module - Fix Ansible Galaxy linting findings.
  • host_group module - Fix Ansible Galaxy linting findings.
  • rule module - Fix Ansible Galaxy linting findings.
  • service_group module - Fix Ansible Galaxy linting findings.
  • Agent role - Fix delegation of activation in handler.

Bugfix Release.

  • Agent role - Add explicit "become: false" to the "Discover services and labels on host." task.
  • Downtime module - Fix handling of parameters start_after and end_after.
  • Agent role - Fix erroneous usage of "checkmk_agent_pass" in activation handler.
  • Agent role - Enable automatic activation of changes when needed for this role. Refer to the README for details.
  • Agent role - Enable registration for TLS and agent updates on remote sites.
  • Agent role - RedHat - Only try to configure firewalld, if the systemd service is present.
  • Playbooks - Add use case playbook for registering agents on remote sites.
  • Rule module - Now its possible to choose a position when creating a rule. The ID of the created rule is returned in the task's response.
  • Rule module - Now properly comparing the specified rule with the existing ones to achieve idempotency.
  • Rule module - comparing the specified rule with the existing ones leads to additional changes in CMK's audit log
  • The folder module now uses name instead of title. The latter is retained as an alias until further notice.
  • The host module now uses name instead of host_name. The latter is retained as an alias but will be removed with a future release.
  • Agent role - Respect the variable checkmk_agent_host_name when downloading host specific agents.
  • The playbooks shipped with the collection were cleaned up and update. Just for awareness.
  • Agent role - Remove host attribute tag_agent from the defaults. Should not be a breaking change, but be aware of it.
  • host_group module - The module was released with the module options host_group_name and host_groups. These have ben renamed to name and groups to align with our standards. The old names will be removed in a future release.
  • Add service_group module.
  • Add contact_group module.
  • Agent role - Add option to download agent setup to control node and then upload to target.
  • Downtime module - Improve readability of messages in case of API errors.
  • Agent role - Fix timeouts on tasks delegated_to localhost.
  • Downtime module - A human-readable error message is now printed if there's an API error.
  • checkmk.general.contact_group - Manage contact groups in Checkmk (bulk version).
  • Add host_group module.
  • Add tag_group module.
  • Agent role - (Actually in v0.10.0) Fix authentication handling, where several tasks would fail, when using a secret.
  • Agent role - Add support for CME.
  • checkmk.general.host_group - Manage host groups in Checkmk (bulk version).
  • checkmk.general.tag_group - Manage tag_group within Checkmk
  • Add rule module.
  • Host module - Now correctly setting the default folder when getting the current host state.
  • Rule exports made with Checkmk API on server versions <2.1.0p10 will not import correctly.
  • checkmk.general.rule - Manage rules in Checkmk.
  • Server role - Improve OS support detection and enhance prerequisites installation.
  • Host module - Do not raise an error, if a host already exists, or on updating a host's attributes while the hosts stays in the same folder.
  • Server role - Fix and enhance additional repository handling on RedHat derivatives.
  • Activation module - Make certificate validation of the Checkmk server configurable.
  • Agent role - Add a boolean for whether to validate the SSL certificate of the Checkmk server used to retrieve agent packages.
  • Agent role - Enable forced agent installation, skipping all possible constraints, like downgrades.
  • Agent role - Make Checkmk server port for API calls configurable. By default the ports 80 and 443 are used according to the configured protocol.
  • Discovery module - Make certificate validation of the Checkmk server configurable.
  • Downtime module - Make certificate validation of the Checkmk server configurable.
  • Folder module - Make certificate validation of the Checkmk server configurable.
  • Host module - Make certificate validation of the Checkmk server configurable.
  • Server role - Fix setup file verification on Debian derivatives. Using gpg instead of dpkg-sig now.

Lots of love for the agent role!

  • Agent role - Check for agent updater and controller binaries. Skip registration if respective binary is missing.
  • Agent role - Host attributes can be fully customized now.
  • Agent role - Label role. This enables skipping or running tasks exclusively. See the README for a detailed list.
  • Server role - Label role. This enables skipping or running tasks exclusively. See the README for a detailed list.
  • Activation module - Fix possible race condition. (#123).
  • Activation module - Fix waiting for activation completion (#103).
  • Agent role - Support CFE properly.
  • Agent role - Support both normal and automation users properly.

Introducing upgrade management for Checkmk sites!

  • Server role - Add support for automatically updating Checkmk. Read the role's README for important information!
  • Agent role - Fix SELinux handling on RedHat.
  • Agent role - Fix firewall handling on RedHat.
  • Fix usage of 'checkmk_agent_host_name'variable. Some tasks had 'inventory_hostname' hardcoded, which is not the desired behavior. This is fixed now.
  • Increase HTTP timeout for the discovery module, because the discovery can take some time depending on the discovered device.
  • Fix leakage of admin password in server role.
  • Fix usage of 'automation_xxx' and 'checkmk_agent_xxx'. 'automation_xxx' variables can still be used for API authentication, but the behavior is more consistent now.
  • Add support for RedHat/CentOS 7 and 8 and compatible distributions to server role.
  • Enable agent role to automatically add hosts to Checkmk during agent installation.
  • Enable firewall management of the host to allow instant access to the agent.
  • Enable firewall management of the host to allow instant access to the web interface of the server.
  • Introduce ansible linting for roles and fix findings.
  • Handle hosts, where systemd version is below 220. It is now possible to automatically install xinetd in those cases. This has to be enabled explicitely.
  • Initial release of the Checkmk server role.
  • The agent role now supports installing baked agents. It will try to install the host-specific agent and fall back to the GENERIC agent.
  • The agent role now supports registering hosts for automatic updates and TLS encryption.
  • Improved the exception handling of the discovery module.
  • The host module can now handle the trailing slash in the folder path returned by the REST API.
  • Add agent role. Currently supports the vanilla agent.
  • The discovery module will now be more verbose in case of an API error and print the actual error message from the API.
  • Add hint, that running the activation module is required only once and not per host.
  • Clean up variable assignments in activation module.
  • Clean up variable assignments in discovery module.
  • Improve construction of headers and base_url variables in activation module.
  • Improve construction of headers and base_url variables in discovery module.
  • Introduce quick fix for handling of HTTP 500 errors in discovery module.
  • The way how the API URL is being created is now more consistent. Thus, users can now skip the trailing "/" in the "server_url" for all modules. Thanks to Jan Petto (https://github.com/Edgxxar)!
  • Discovery module is not feature complete yet.
  • Downtime module is not fully idempotent yet. This affects service downtimes and deletions.
  • This release is still in development and a heavy work in progress.
  • We might extract the API call handling into a separate Python module.
  • checkmk.general.downtime - Manage downtimes in Checkmk.
  • First release to Ansible Galaxy.
  • Activation is now site aware.
  • Discovery is not feature complete yet.
  • This release is still in development and a heavy work in progress.
  • Major overhaul of folder module.
  • Major overhaul of host module.
  • Activation is not site aware yet. All sites will be activated.
  • Discovery is not feature complete yet.
  • This release is still in development and a heavy work in progress.
  • Add activation module.
  • Add discovery module.
  • Add folder module.
  • Add host module.
  • Initial creation of collection structure and layout.
  • Activation is not site aware yet. All sites will be activated.
  • Discovery is not feature complete yet.
  • This release is still in development and a heavy work in progress.
  • checkmk.general.activation - Activate changes in Checkmk.
  • checkmk.general.discovery - discovery services in Checkmk.
  • checkmk.general.folder - Manage folders in Checkmk.
  • checkmk.general.host - Manage hosts in Checkmk.