From 9606c49df40f67e948fa63d553cd04a5b66ff009 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 21 Jun 2024 16:31:20 -0400 Subject: [PATCH 01/30] Fix task title. --- roles/agent/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/agent/tasks/main.yml b/roles/agent/tasks/main.yml index 594f8bd7f..faab82ad8 100644 --- a/roles/agent/tasks/main.yml +++ b/roles/agent/tasks/main.yml @@ -4,7 +4,7 @@ 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: "Include OS family specific variables." +- name: "{{ ansible_os_family }}: Include OS family specific variables." ansible.builtin.include_vars: "{{ ansible_os_family }}.yml" tags: - include-os-family-vars From 6753b4a522803fc02ce3e018690c21a648c73d56 Mon Sep 17 00:00:00 2001 From: Michael Roessler Date: Tue, 2 Jul 2024 15:38:04 +0200 Subject: [PATCH 02/30] Fix downtimes not being removed when only specifying one service --- changelogs/fragments/downtime.yaml | 2 ++ plugins/modules/downtime.py | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/downtime.yaml diff --git a/changelogs/fragments/downtime.yaml b/changelogs/fragments/downtime.yaml new file mode 100644 index 000000000..5c67c8fc0 --- /dev/null +++ b/changelogs/fragments/downtime.yaml @@ -0,0 +1,2 @@ +bugfixes: + - Downtime module - Downtimes are now correctly removed when only specifying a single service \ No newline at end of file diff --git a/plugins/modules/downtime.py b/plugins/modules/downtime.py index 8ceb21c79..728fc0cf6 100644 --- a/plugins/modules/downtime.py +++ b/plugins/modules/downtime.py @@ -221,7 +221,10 @@ def _get_current_downtimes(module, base_url, headers): ) ] else: - filters = ['{"op": "~", "left": "service_description", "right": "%s"}'] + filters = [ + '{"op": "~", "left": "service_description", "right": "%s"}' + % service_descriptions[0] + ] filters.append('{"op": "=", "left": "is_service", "right": "1"}') else: filters.append('{"op": "=", "left": "is_service", "right": "0"}') @@ -356,6 +359,7 @@ def remove_downtime(module, base_url, headers): else: query_filters.append( '{"op": "~", "left": "service_description", "right": "%s"}' + % service_descriptions[0] ) if len(current_downtimes) == 0: # and comment is not None: From 4b42944ff5fad9570e3b898f7fd8f7ae247cc0e3 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Mon, 8 Jul 2024 08:19:14 +0200 Subject: [PATCH 03/30] Bump Checkmk versions for tests. --- roles/agent/README.md | 2 +- roles/agent/defaults/main.yml | 2 +- roles/agent/molecule/2.1.0/group_vars/all.yml | 2 +- roles/agent/molecule/2.2.0/group_vars/all.yml | 2 +- roles/agent/molecule/2.3.0/group_vars/all.yml | 2 +- roles/server/README.md | 2 +- roles/server/defaults/main.yml | 2 +- roles/server/molecule/2.1.0/group_vars/all.yml | 2 +- roles/server/molecule/2.2.0/group_vars/all.yml | 2 +- roles/server/molecule/2.3.0/group_vars/all.yml | 2 +- scripts/release.sh | 6 +++--- tests/integration/targets/activation/vars/main.yml | 8 ++++---- tests/integration/targets/bakery/vars/main.yml | 6 +++--- tests/integration/targets/contact_group/vars/main.yml | 10 +++++----- tests/integration/targets/discovery/vars/main.yml | 8 ++++---- tests/integration/targets/downtime/vars/main.yml | 8 ++++---- tests/integration/targets/folder/vars/main.yml | 8 ++++---- tests/integration/targets/host/vars/main.yml | 8 ++++---- tests/integration/targets/host_group/vars/main.yml | 10 +++++----- tests/integration/targets/lookup_bakery/vars/main.yml | 6 +++--- tests/integration/targets/lookup_folder/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_folders/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_host/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_hosts/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_rules/vars/main.yml | 8 ++++---- .../integration/targets/lookup_rulesets/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_version/vars/main.yml | 8 ++++---- tests/integration/targets/password/vars/main.yml | 10 +++++----- tests/integration/targets/rule/vars/main.yml | 8 ++++---- tests/integration/targets/service_group/vars/main.yml | 10 +++++----- tests/integration/targets/tag_group/vars/main.yml | 10 +++++----- tests/integration/targets/timeperiod/vars/main.yml | 8 ++++---- tests/integration/targets/user/vars/main.yml | 10 +++++----- 33 files changed, 105 insertions(+), 105 deletions(-) diff --git a/roles/agent/README.md b/roles/agent/README.md index bd968e348..97e0cea1b 100644 --- a/roles/agent/README.md +++ b/roles/agent/README.md @@ -16,7 +16,7 @@ Please make sure it is installed on your system and available for Ansible. ## Role Variables - checkmk_agent_version: "2.3.0p6" + checkmk_agent_version: "2.3.0p9" The Checkmk version of the site your agents will talk to. diff --git a/roles/agent/defaults/main.yml b/roles/agent/defaults/main.yml index f9f349d4c..a39a9e605 100644 --- a/roles/agent/defaults/main.yml +++ b/roles/agent/defaults/main.yml @@ -1,5 +1,5 @@ --- -checkmk_agent_version: "2.3.0p6" +checkmk_agent_version: "2.3.0p9" checkmk_agent_edition: cre checkmk_agent_server_protocol: http checkmk_agent_server: localhost diff --git a/roles/agent/molecule/2.1.0/group_vars/all.yml b/roles/agent/molecule/2.1.0/group_vars/all.yml index b7436414d..98bf3d455 100644 --- a/roles/agent/molecule/2.1.0/group_vars/all.yml +++ b/roles/agent/molecule/2.1.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.1.0p44" +checkmk_var_version: "2.1.0p45" checkmk_var_edition: "cre" checkmk_var_checkmk_site: "mysite" checkmk_var_automation_user: "cmkadmin" diff --git a/roles/agent/molecule/2.2.0/group_vars/all.yml b/roles/agent/molecule/2.2.0/group_vars/all.yml index d6c2cb9b2..81d3f7f09 100644 --- a/roles/agent/molecule/2.2.0/group_vars/all.yml +++ b/roles/agent/molecule/2.2.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.2.0p27" +checkmk_var_version: "2.2.0p30" checkmk_var_edition: "cre" checkmk_var_checkmk_site: "mysite" checkmk_var_automation_user: "cmkadmin" diff --git a/roles/agent/molecule/2.3.0/group_vars/all.yml b/roles/agent/molecule/2.3.0/group_vars/all.yml index 41080d2f3..77ff0e1ee 100644 --- a/roles/agent/molecule/2.3.0/group_vars/all.yml +++ b/roles/agent/molecule/2.3.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.3.0p6" +checkmk_var_version: "2.3.0p9" checkmk_var_edition: "cre" checkmk_var_checkmk_site: "mysite" checkmk_var_automation_user: "cmkadmin" diff --git a/roles/server/README.md b/roles/server/README.md index 91d963a6f..9496e28bb 100644 --- a/roles/server/README.md +++ b/roles/server/README.md @@ -25,7 +25,7 @@ To learn about the distributions used in automated tests, inspect the correspond ## Role Variables - checkmk_server_version: "2.3.0p6" + checkmk_server_version: "2.3.0p9" The global Checkmk version. This is used for installing Checkmk. To manage sites and their version, see `checkmk_server_sites`. diff --git a/roles/server/defaults/main.yml b/roles/server/defaults/main.yml index 8e8dd4694..d0bf4ae6c 100644 --- a/roles/server/defaults/main.yml +++ b/roles/server/defaults/main.yml @@ -25,7 +25,7 @@ checkmk_server_server_stable_os: - Ubuntu-22 - Ubuntu-24 -checkmk_server_version: "2.3.0p6" +checkmk_server_version: "2.3.0p9" checkmk_server_edition: cre checkmk_server_verify_setup: 'true' diff --git a/roles/server/molecule/2.1.0/group_vars/all.yml b/roles/server/molecule/2.1.0/group_vars/all.yml index 270a99ac5..5f324a011 100644 --- a/roles/server/molecule/2.1.0/group_vars/all.yml +++ b/roles/server/molecule/2.1.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.1.0p44" +checkmk_var_version: "2.1.0p45" checkmk_var_edition: "cre" checkmk_server_verify_setup: 'true' checkmk_var_server_url: "http://127.0.0.1/" diff --git a/roles/server/molecule/2.2.0/group_vars/all.yml b/roles/server/molecule/2.2.0/group_vars/all.yml index 82122833d..a9b36278b 100644 --- a/roles/server/molecule/2.2.0/group_vars/all.yml +++ b/roles/server/molecule/2.2.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.2.0p27" +checkmk_var_version: "2.2.0p30" checkmk_var_edition: "cre" checkmk_server_verify_setup: 'true' checkmk_var_server_url: "http://127.0.0.1/" diff --git a/roles/server/molecule/2.3.0/group_vars/all.yml b/roles/server/molecule/2.3.0/group_vars/all.yml index 6e1d82d7c..8ece9bcc0 100644 --- a/roles/server/molecule/2.3.0/group_vars/all.yml +++ b/roles/server/molecule/2.3.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.3.0p6" +checkmk_var_version: "2.3.0p9" checkmk_var_edition: "cre" checkmk_server_verify_setup: 'true' checkmk_var_server_url: "http://127.0.0.1/" diff --git a/scripts/release.sh b/scripts/release.sh index a24a26981..2c2a86a44 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -15,9 +15,9 @@ script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) collection_dir="${script_dir%/*}" # Update these as necessary: -checkmk_ancient="2.1.0p44" -checkmk_oldstable="2.2.0p27" -checkmk_stable="2.3.0p6" +checkmk_ancient="2.1.0p45" +checkmk_oldstable="2.2.0p30" +checkmk_stable="2.3.0p9" while getopts 's:t:' OPTION; do case "$OPTION" in diff --git a/tests/integration/targets/activation/vars/main.yml b/tests/integration/targets/activation/vars/main.yml index 29b679947..5562e06ee 100644 --- a/tests/integration/targets/activation/vars/main.yml +++ b/tests/integration/targets/activation/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/bakery/vars/main.yml b/tests/integration/targets/bakery/vars/main.yml index 7a5134e76..a1c01b702 100644 --- a/tests/integration/targets/bakery/vars/main.yml +++ b/tests/integration/targets/bakery/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cee" site: "old_cee" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cee" # site: "ancient_cee" diff --git a/tests/integration/targets/contact_group/vars/main.yml b/tests/integration/targets/contact_group/vars/main.yml index 88c89f580..b8d7b64ab 100644 --- a/tests/integration/targets/contact_group/vars/main.yml +++ b/tests/integration/targets/contact_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cme" site: "stable_cme" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/discovery/vars/main.yml b/tests/integration/targets/discovery/vars/main.yml index ae77e6b40..fac4daafa 100644 --- a/tests/integration/targets/discovery/vars/main.yml +++ b/tests/integration/targets/discovery/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/downtime/vars/main.yml b/tests/integration/targets/downtime/vars/main.yml index c330700fe..0ddec9d3d 100644 --- a/tests/integration/targets/downtime/vars/main.yml +++ b/tests/integration/targets/downtime/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/folder/vars/main.yml b/tests/integration/targets/folder/vars/main.yml index dbcf54d20..54e23b1e9 100644 --- a/tests/integration/targets/folder/vars/main.yml +++ b/tests/integration/targets/folder/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/host/vars/main.yml b/tests/integration/targets/host/vars/main.yml index 09b9540c6..2fe0d1d54 100644 --- a/tests/integration/targets/host/vars/main.yml +++ b/tests/integration/targets/host/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/host_group/vars/main.yml b/tests/integration/targets/host_group/vars/main.yml index 95b148a57..012771ded 100644 --- a/tests/integration/targets/host_group/vars/main.yml +++ b/tests/integration/targets/host_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cme" site: "stable_cme" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_bakery/vars/main.yml b/tests/integration/targets/lookup_bakery/vars/main.yml index 2a38841d5..fe371e229 100644 --- a/tests/integration/targets/lookup_bakery/vars/main.yml +++ b/tests/integration/targets/lookup_bakery/vars/main.yml @@ -1,11 +1,11 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cee" site: "old_cee" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cee" # site: "ancient_cee" diff --git a/tests/integration/targets/lookup_folder/vars/main.yml b/tests/integration/targets/lookup_folder/vars/main.yml index 380a1a7cb..ca78cbb22 100644 --- a/tests/integration/targets/lookup_folder/vars/main.yml +++ b/tests/integration/targets/lookup_folder/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_folders/vars/main.yml b/tests/integration/targets/lookup_folders/vars/main.yml index 788aa6eea..4a72912e0 100644 --- a/tests/integration/targets/lookup_folders/vars/main.yml +++ b/tests/integration/targets/lookup_folders/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_host/vars/main.yml b/tests/integration/targets/lookup_host/vars/main.yml index 3b9a8db3a..b1ac33c06 100644 --- a/tests/integration/targets/lookup_host/vars/main.yml +++ b/tests/integration/targets/lookup_host/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_hosts/vars/main.yml b/tests/integration/targets/lookup_hosts/vars/main.yml index 9c859c5fa..e4a695bca 100644 --- a/tests/integration/targets/lookup_hosts/vars/main.yml +++ b/tests/integration/targets/lookup_hosts/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_rules/vars/main.yml b/tests/integration/targets/lookup_rules/vars/main.yml index 564eda6bc..5653817f1 100644 --- a/tests/integration/targets/lookup_rules/vars/main.yml +++ b/tests/integration/targets/lookup_rules/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_rulesets/vars/main.yml b/tests/integration/targets/lookup_rulesets/vars/main.yml index 0b769156b..d5b7467c4 100644 --- a/tests/integration/targets/lookup_rulesets/vars/main.yml +++ b/tests/integration/targets/lookup_rulesets/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_version/vars/main.yml b/tests/integration/targets/lookup_version/vars/main.yml index 27dae0a2f..ba016574f 100644 --- a/tests/integration/targets/lookup_version/vars/main.yml +++ b/tests/integration/targets/lookup_version/vars/main.yml @@ -1,14 +1,14 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/password/vars/main.yml b/tests/integration/targets/password/vars/main.yml index c12b45baf..20d26ad1c 100644 --- a/tests/integration/targets/password/vars/main.yml +++ b/tests/integration/targets/password/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cme" site: "stable_cme" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/rule/vars/main.yml b/tests/integration/targets/rule/vars/main.yml index 27dae0a2f..ba016574f 100644 --- a/tests/integration/targets/rule/vars/main.yml +++ b/tests/integration/targets/rule/vars/main.yml @@ -1,14 +1,14 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/service_group/vars/main.yml b/tests/integration/targets/service_group/vars/main.yml index 50b072c65..b63842bff 100644 --- a/tests/integration/targets/service_group/vars/main.yml +++ b/tests/integration/targets/service_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cme" site: "stable_cme" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/tag_group/vars/main.yml b/tests/integration/targets/tag_group/vars/main.yml index bfc6b4669..6bac02177 100644 --- a/tests/integration/targets/tag_group/vars/main.yml +++ b/tests/integration/targets/tag_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cme" site: "stable_cme" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/timeperiod/vars/main.yml b/tests/integration/targets/timeperiod/vars/main.yml index cad47a10c..ad3ab8f07 100644 --- a/tests/integration/targets/timeperiod/vars/main.yml +++ b/tests/integration/targets/timeperiod/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/user/vars/main.yml b/tests/integration/targets/user/vars/main.yml index 103b1e162..bf982023b 100644 --- a/tests/integration/targets/user/vars/main.yml +++ b/tests/integration/targets/user/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cme" site: "stable_cme" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cee" site: "stable_cee" - - version: "2.3.0p6" + - version: "2.3.0p9" edition: "cre" site: "stable_cre" - - version: "2.2.0p27" + - version: "2.2.0p30" edition: "cre" site: "old_cre" - # - version: "2.1.0p44" + # - version: "2.1.0p45" # edition: "cre" # site: "ancient_cre" From b6ab0095e3dfce96a1b08ddf4d383c39e7b03344 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Mon, 8 Jul 2024 15:05:07 +0200 Subject: [PATCH 04/30] Fix typo. --- roles/server/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/server/README.md b/roles/server/README.md index 9496e28bb..a18c736c8 100644 --- a/roles/server/README.md +++ b/roles/server/README.md @@ -111,7 +111,7 @@ Whether to back up sites when updating between versions. Only disable this if yo Directory to backup sites to when updating between versions. Of course `/tmp/` is not a sane backup location, so change it! - checkmk_agent_no_log: 'true' + checkmk_server_no_log: 'true' Whether to log sensitive information like passwords. Ansible output will be censored for enhanced security by default. Set to `false` for easier troubleshooting. Be careful when changing this value in production, passwords may be leaked in operating system logs. From 7fc0fa9ef5259878e6a4031db3bc13ac363483d8 Mon Sep 17 00:00:00 2001 From: Michael Roessler Date: Tue, 2 Jul 2024 17:25:22 +0200 Subject: [PATCH 05/30] Add tests for downtime module --- .../targets/downtime/tasks/test.yml | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/integration/targets/downtime/tasks/test.yml b/tests/integration/targets/downtime/tasks/test.yml index cebd3d240..4d23579db 100644 --- a/tests/integration/targets/downtime/tasks/test.yml +++ b/tests/integration/targets/downtime/tasks/test.yml @@ -280,6 +280,35 @@ state: absent loop: "{{ checkmk_hosts }}" +- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Schedule downtime on single service." + downtime: + server_url: "{{ checkmk_var_server_url }}" + site: "{{ outer_item.site }}" + automation_user: "{{ checkmk_var_automation_user }}" + automation_secret: "{{ checkmk_var_automation_secret }}" + host_name: "{{ item.name }}" + comment: Schedule downtime on single service + end_after: + minutes: 30 + service_descriptions: + - "Check_MK" + loop: "{{ checkmk_hosts }}" + +- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Delete downtime on single service." + downtime: + server_url: "{{ checkmk_var_server_url }}" + site: "{{ outer_item.site }}" + automation_user: "{{ checkmk_var_automation_user }}" + automation_secret: "{{ checkmk_var_automation_secret }}" + host_name: "{{ item.name }}" + comment: Schedule downtime on single service + service_descriptions: + - "Check_MK" + state: absent + register: result + failed_when: result.changed == False + loop: "{{ checkmk_hosts }}" + - name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Delete hosts." host: server_url: "{{ checkmk_var_server_url }}" From cb22160eaa2cbd841d542ef3ecc34d3935a07b07 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 12 Jul 2024 10:24:23 +0200 Subject: [PATCH 06/30] Fix #631. --- roles/agent/tasks/Linux.yml | 6 ++++-- roles/agent/tasks/Win32NT.yml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index 6ddc18fd9..0ed7a00ac 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -116,7 +116,8 @@ and checkmk_agent_update | bool and (checkmk_agent_pass is defined and checkmk_agent_pass | length) and (checkmk_agent_secret is not defined) - and not checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_updater_state.stdout + and not ((checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_updater_state.stdout) + and ('"error": null' in __checkmk_agent_updater_state.stdout) ) - name: "{{ ansible_system }}: Register Agent for automatic Updates using Automation Secret." # noqa no-changed-when become: true @@ -131,7 +132,8 @@ and __checkmk_agent_updater_binary.stat.exists | bool and checkmk_agent_update | bool and (checkmk_agent_secret is defined and checkmk_agent_secret | length) - and not checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_updater_state.stdout + and not ((checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_updater_state.stdout) + and ('"error": null' in __checkmk_agent_updater_state.stdout) ) - name: "{{ ansible_system }}: Register Agent for TLS." # noqa no-changed-when become: true diff --git a/roles/agent/tasks/Win32NT.yml b/roles/agent/tasks/Win32NT.yml index 5cbe3eb95..0ad39f007 100644 --- a/roles/agent/tasks/Win32NT.yml +++ b/roles/agent/tasks/Win32NT.yml @@ -69,7 +69,8 @@ and checkmk_agent_update | bool and (checkmk_agent_pass is defined and checkmk_agent_pass | length) and (checkmk_agent_secret is not defined) - and not '\'server\': \'' + checkmk_agent_registration_server + '\', \'site\': \'' + checkmk_agent_registration_site + '\'' in __checkmk_agent_updater_state.stdout + and not (('\'server\': \'' + checkmk_agent_registration_server + '\', \'site\': \'' + checkmk_agent_registration_site + '\'' in __checkmk_agent_updater_state.stdout) + and ('\'last_error\': None' in __checkmk_agent_updater_state.stdout)) - name: "{{ ansible_system }}: Register Agent for automatic Updates using Automation Secret." # noqa no-changed-when ansible.windows.win_command: | @@ -85,7 +86,8 @@ and __checkmk_agent_binary.stat.exists | bool and checkmk_agent_update | bool and (checkmk_agent_secret is defined and checkmk_agent_secret | length) - and not '\'server\': \'' + checkmk_agent_registration_server + '\', \'site\': \'' + checkmk_agent_registration_site + '\'' in __checkmk_agent_updater_state.stdout + and not (('\'server\': \'' + checkmk_agent_registration_server + '\', \'site\': \'' + checkmk_agent_registration_site + '\'' in __checkmk_agent_updater_state.stdout) + and ('\'last_error\': None' in __checkmk_agent_updater_state.stdout)) - name: "Trigger Activate Changes to enable TLS registration." ansible.builtin.meta: From d8fde39a619ab8d3ea11261d93ce922343092b81 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 12 Jul 2024 10:41:18 +0200 Subject: [PATCH 07/30] Add `changed_when`. --- roles/agent/tasks/Linux.yml | 6 ++++-- roles/agent/tasks/Win32NT.yml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index 0ed7a00ac..80510e32c 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -102,7 +102,7 @@ not __checkmk_agent_updater_state.rc == 0 and not __checkmk_agent_updater_state.rc == 1 -- name: "{{ ansible_system }}: Register Agent for automatic Updates using User Password." # noqa no-changed-when +- name: "{{ ansible_system }}: Register Agent for automatic Updates using User Password." become: true ansible.builtin.shell: | cmk-update-agent register -H {{ checkmk_agent_host_name }} \ @@ -118,8 +118,9 @@ and (checkmk_agent_secret is not defined) and not ((checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_updater_state.stdout) and ('"error": null' in __checkmk_agent_updater_state.stdout) ) + changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" -- name: "{{ ansible_system }}: Register Agent for automatic Updates using Automation Secret." # noqa no-changed-when +- name: "{{ ansible_system }}: Register Agent for automatic Updates using Automation Secret." become: true ansible.builtin.shell: | cmk-update-agent register -H {{ checkmk_agent_host_name }} \ @@ -134,6 +135,7 @@ and (checkmk_agent_secret is defined and checkmk_agent_secret | length) and not ((checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_updater_state.stdout) and ('"error": null' in __checkmk_agent_updater_state.stdout) ) + changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" - name: "{{ ansible_system }}: Register Agent for TLS." # noqa no-changed-when become: true diff --git a/roles/agent/tasks/Win32NT.yml b/roles/agent/tasks/Win32NT.yml index 0ad39f007..9215eb5f4 100644 --- a/roles/agent/tasks/Win32NT.yml +++ b/roles/agent/tasks/Win32NT.yml @@ -54,7 +54,7 @@ register: __checkmk_agent_updater_state changed_when: false -- name: "{{ ansible_system }}: Register Agent for automatic Updates using User Password." # noqa no-changed-when +- name: "{{ ansible_system }}: Register Agent for automatic Updates using User Password." ansible.windows.win_command: | check_mk_agent.exe updater register -H {{ checkmk_agent_host_name }} \ -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_server_protocol }} \ @@ -71,8 +71,9 @@ and (checkmk_agent_secret is not defined) and not (('\'server\': \'' + checkmk_agent_registration_server + '\', \'site\': \'' + checkmk_agent_registration_site + '\'' in __checkmk_agent_updater_state.stdout) and ('\'last_error\': None' in __checkmk_agent_updater_state.stdout)) + changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" -- name: "{{ ansible_system }}: Register Agent for automatic Updates using Automation Secret." # noqa no-changed-when +- name: "{{ ansible_system }}: Register Agent for automatic Updates using Automation Secret." ansible.windows.win_command: | check_mk_agent.exe updater register -H {{ checkmk_agent_host_name }} \ -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_server_protocol }} \ @@ -88,6 +89,7 @@ and (checkmk_agent_secret is defined and checkmk_agent_secret | length) and not (('\'server\': \'' + checkmk_agent_registration_server + '\', \'site\': \'' + checkmk_agent_registration_site + '\'' in __checkmk_agent_updater_state.stdout) and ('\'last_error\': None' in __checkmk_agent_updater_state.stdout)) + changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" - name: "Trigger Activate Changes to enable TLS registration." ansible.builtin.meta: From c6189fe7b8e922e18721e2eb48860aeb8feef4bb Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 12 Jul 2024 10:43:52 +0200 Subject: [PATCH 08/30] Add `flush_handlers` to Linux.yml to align wth Windows. --- roles/agent/tasks/Linux.yml | 4 ++++ roles/agent/tasks/Win32NT.yml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index 80510e32c..530d2cf8f 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -137,6 +137,10 @@ and ('"error": null' in __checkmk_agent_updater_state.stdout) ) changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" +- name: "Trigger Activate Changes to enable TLS Registration." + ansible.builtin.meta: + flush_handlers + - name: "{{ ansible_system }}: Register Agent for TLS." # noqa no-changed-when become: true ansible.builtin.shell: | diff --git a/roles/agent/tasks/Win32NT.yml b/roles/agent/tasks/Win32NT.yml index 9215eb5f4..db3e36151 100644 --- a/roles/agent/tasks/Win32NT.yml +++ b/roles/agent/tasks/Win32NT.yml @@ -91,7 +91,7 @@ and ('\'last_error\': None' in __checkmk_agent_updater_state.stdout)) changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" -- name: "Trigger Activate Changes to enable TLS registration." +- name: "Trigger Activate Changes to enable TLS Registration." ansible.builtin.meta: flush_handlers From ce3aa38bf07b693b22dae33933d7f08149016728 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 12 Jul 2024 10:45:23 +0200 Subject: [PATCH 09/30] Sort "Read" tasks more naturally. --- roles/agent/tasks/Linux.yml | 12 ++++++------ roles/agent/tasks/Win32NT.yml | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index 530d2cf8f..7a87013a2 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -87,12 +87,6 @@ path: /usr/bin/cmk-agent-ctl register: __checkmk_agent_controller_binary -- name: "{{ ansible_system }}: Read Agent Controller State." - become: true - ansible.builtin.command: cat /var/lib/cmk-agent/registered_connections.json - register: __checkmk_agent_registered_connections - changed_when: false - - name: "{{ ansible_system }}: Read Updater State." become: true ansible.builtin.command: cat /var/lib/check_mk_agent/cache/plugins_cmk-update-agent.cache @@ -102,6 +96,12 @@ not __checkmk_agent_updater_state.rc == 0 and not __checkmk_agent_updater_state.rc == 1 +- name: "{{ ansible_system }}: Read Agent Controller State." + become: true + ansible.builtin.command: cat /var/lib/cmk-agent/registered_connections.json + register: __checkmk_agent_registered_connections + changed_when: false + - name: "{{ ansible_system }}: Register Agent for automatic Updates using User Password." become: true ansible.builtin.shell: | diff --git a/roles/agent/tasks/Win32NT.yml b/roles/agent/tasks/Win32NT.yml index db3e36151..94198d009 100644 --- a/roles/agent/tasks/Win32NT.yml +++ b/roles/agent/tasks/Win32NT.yml @@ -40,18 +40,18 @@ path: "{{ __checkmk_agent_binary_path }}" register: __checkmk_agent_binary -- name: "{{ ansible_system }}: Read Agent Controller State." +- name: "{{ ansible_system }}: Read Updater State." ansible.windows.win_command: powershell.exe - args: - stdin: Get-Content -ErrorAction Ignore -LiteralPath C:\ProgramData\checkmk\agent\registered_connections.json ; Exit 0 - register: __checkmk_agent_registered_connections + stdin: Get-Content -ErrorAction Ignore -LiteralPath C:\ProgramData\checkmk\agent\config\cmk-update-agent.state ; Exit 0 + register: __checkmk_agent_updater_state changed_when: false -- name: "{{ ansible_system }}: Read Updater State." +- name: "{{ ansible_system }}: Read Agent Controller State." ansible.windows.win_command: powershell.exe - args: - stdin: Get-Content -ErrorAction Ignore -LiteralPath C:\ProgramData\checkmk\agent\config\cmk-update-agent.state ; Exit 0 - register: __checkmk_agent_updater_state + stdin: Get-Content -ErrorAction Ignore -LiteralPath C:\ProgramData\checkmk\agent\registered_connections.json ; Exit 0 + register: __checkmk_agent_registered_connections changed_when: false - name: "{{ ansible_system }}: Register Agent for automatic Updates using User Password." From b577663bbc36dd9dc9a62d3ec8f400becc0b47b3 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 12 Jul 2024 11:38:25 +0200 Subject: [PATCH 10/30] Add `changed_when`. --- roles/agent/tasks/Linux.yml | 3 ++- roles/agent/tasks/Win32NT.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index 7a87013a2..ad43da694 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -141,7 +141,7 @@ ansible.builtin.meta: flush_handlers -- name: "{{ ansible_system }}: Register Agent for TLS." # noqa no-changed-when +- name: "{{ ansible_system }}: Register Agent for TLS." become: true ansible.builtin.shell: | cmk-agent-ctl register -H {{ checkmk_agent_host_name }} \ @@ -154,6 +154,7 @@ and checkmk_agent_tls | bool and (__checkmk_agent_auth is defined and __checkmk_agent_auth | length) and not checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_registered_connections.stdout + changed_when: "'Registration complete' in __checkmk_agent_tls_state.stdout" - name: "{{ ansible_system }}: Verify Checkmk Agent Port is open." ansible.builtin.wait_for: diff --git a/roles/agent/tasks/Win32NT.yml b/roles/agent/tasks/Win32NT.yml index 94198d009..d7648f166 100644 --- a/roles/agent/tasks/Win32NT.yml +++ b/roles/agent/tasks/Win32NT.yml @@ -95,7 +95,7 @@ ansible.builtin.meta: flush_handlers -- name: "{{ ansible_system }}: Register Agent for TLS." # noqa no-changed-when +- name: "{{ ansible_system }}: Register Agent for TLS." ansible.windows.win_command: | cmk-agent-ctl.exe register -H {{ checkmk_agent_host_name }} \ -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} \ @@ -109,6 +109,7 @@ and checkmk_agent_tls | bool and (__checkmk_agent_auth is defined and __checkmk_agent_auth | length) and not checkmk_agent_registration_server + '/' + checkmk_agent_registration_site in __checkmk_agent_registered_connections.stdout + changed_when: "'Registration complete' in __checkmk_agent_tls_state.stdout" - name: "{{ ansible_system }}: Verify Checkmk Agent Port is open." ansible.windows.win_wait_for: From ac322babb658289b43aaf78b724eb2f45eca7f9d Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 12 Jul 2024 11:40:19 +0200 Subject: [PATCH 11/30] Clean up duplicate activation triggers. --- roles/agent/tasks/Linux.yml | 4 ---- roles/agent/tasks/Win32NT.yml | 4 ---- 2 files changed, 8 deletions(-) diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index ad43da694..351b3c8dc 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -137,10 +137,6 @@ and ('"error": null' in __checkmk_agent_updater_state.stdout) ) changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" -- name: "Trigger Activate Changes to enable TLS Registration." - ansible.builtin.meta: - flush_handlers - - name: "{{ ansible_system }}: Register Agent for TLS." become: true ansible.builtin.shell: | diff --git a/roles/agent/tasks/Win32NT.yml b/roles/agent/tasks/Win32NT.yml index d7648f166..f80902e87 100644 --- a/roles/agent/tasks/Win32NT.yml +++ b/roles/agent/tasks/Win32NT.yml @@ -91,10 +91,6 @@ and ('\'last_error\': None' in __checkmk_agent_updater_state.stdout)) changed_when: "'Successfully registered agent of host' in __checkmk_agent_update_state.stderr" -- name: "Trigger Activate Changes to enable TLS Registration." - ansible.builtin.meta: - flush_handlers - - name: "{{ ansible_system }}: Register Agent for TLS." ansible.windows.win_command: | cmk-agent-ctl.exe register -H {{ checkmk_agent_host_name }} \ From 80ca89621d3dbd2f09936e082a704f53fd4b0249 Mon Sep 17 00:00:00 2001 From: Gerlof Fokkema Date: Mon, 1 Jul 2024 16:51:17 +0200 Subject: [PATCH 12/30] Allow registering on a http subsite with a https central site. Currently the variable `checkmk_agent_server_protocol` is used both for downloading the agent at the central site, and for registering the agent at the subsite, therefore making it mandatory to use http or https on both sites without mixing. Introduces a new variable `checkmk_agent_registration_server_protocol` which defaults to `checkmk_agent_server_protocol`, similar to the other `checkmk_agent_registration_*` variables to solve that. --- roles/agent/defaults/main.yml | 1 + roles/agent/molecule/2.1.0/group_vars/all.yml | 1 + roles/agent/molecule/2.2.0/group_vars/all.yml | 1 + roles/agent/molecule/2.3.0/group_vars/all.yml | 1 + roles/agent/tasks/Linux.yml | 4 ++-- roles/agent/tasks/Win32NT.yml | 2 +- 6 files changed, 7 insertions(+), 3 deletions(-) diff --git a/roles/agent/defaults/main.yml b/roles/agent/defaults/main.yml index a39a9e605..e82f3fbaf 100644 --- a/roles/agent/defaults/main.yml +++ b/roles/agent/defaults/main.yml @@ -4,6 +4,7 @@ checkmk_agent_edition: cre checkmk_agent_server_protocol: http checkmk_agent_server: localhost checkmk_agent_site: mysite +checkmk_agent_registration_server_protocol: "{{ checkmk_agent_server_protocol }}" checkmk_agent_registration_server: "{{ checkmk_agent_server }}" checkmk_agent_registration_site: "{{ checkmk_agent_site }}" checkmk_agent_server_validate_certs: 'true' diff --git a/roles/agent/molecule/2.1.0/group_vars/all.yml b/roles/agent/molecule/2.1.0/group_vars/all.yml index 98bf3d455..0112736d4 100644 --- a/roles/agent/molecule/2.1.0/group_vars/all.yml +++ b/roles/agent/molecule/2.1.0/group_vars/all.yml @@ -12,6 +12,7 @@ checkmk_agent_edition: "{{ checkmk_var_edition }}" checkmk_agent_server_protocol: http checkmk_agent_server: 127.0.0.1 checkmk_agent_site: "{{ checkmk_var_checkmk_site }}" +checkmk_agent_registration_server_protocol: "{{ checkmk_agent_server_protocol }}" checkmk_agent_registration_server: "{{ checkmk_agent_server }}" checkmk_agent_registration_site: "{{ checkmk_agent_site }}" checkmk_agent_server_validate_certs: 'false' diff --git a/roles/agent/molecule/2.2.0/group_vars/all.yml b/roles/agent/molecule/2.2.0/group_vars/all.yml index 81d3f7f09..63daf8788 100644 --- a/roles/agent/molecule/2.2.0/group_vars/all.yml +++ b/roles/agent/molecule/2.2.0/group_vars/all.yml @@ -12,6 +12,7 @@ checkmk_agent_edition: "{{ checkmk_var_edition }}" checkmk_agent_server_protocol: http checkmk_agent_server: 127.0.0.1 checkmk_agent_site: "{{ checkmk_var_checkmk_site }}" +checkmk_agent_registration_server_protocol: "{{ checkmk_agent_server_protocol }}" checkmk_agent_registration_server: "{{ checkmk_agent_server }}" checkmk_agent_registration_site: "{{ checkmk_agent_site }}" checkmk_agent_server_validate_certs: 'false' diff --git a/roles/agent/molecule/2.3.0/group_vars/all.yml b/roles/agent/molecule/2.3.0/group_vars/all.yml index 77ff0e1ee..395449edd 100644 --- a/roles/agent/molecule/2.3.0/group_vars/all.yml +++ b/roles/agent/molecule/2.3.0/group_vars/all.yml @@ -12,6 +12,7 @@ checkmk_agent_edition: "{{ checkmk_var_edition }}" checkmk_agent_server_protocol: http checkmk_agent_server: 127.0.0.1 checkmk_agent_site: "{{ checkmk_var_checkmk_site }}" +checkmk_agent_registration_server_protocol: "{{ checkmk_agent_server_protocol }}" checkmk_agent_registration_server: "{{ checkmk_agent_server }}" checkmk_agent_registration_site: "{{ checkmk_agent_site }}" checkmk_agent_server_validate_certs: 'false' diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index 6ddc18fd9..f64ac6ca1 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -106,7 +106,7 @@ become: true ansible.builtin.shell: | cmk-update-agent register -H {{ checkmk_agent_host_name }} \ - -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_server_protocol }} \ + -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_registration_server_protocol }} \ -U {{ checkmk_agent_user }} -P {{ __checkmk_agent_auth }} no_log: "{{ checkmk_agent_no_log | bool }}" register: __checkmk_agent_update_state @@ -122,7 +122,7 @@ become: true ansible.builtin.shell: | cmk-update-agent register -H {{ checkmk_agent_host_name }} \ - -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_server_protocol }} \ + -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_registration_server_protocol }} \ -U {{ checkmk_agent_user }} -S {{ __checkmk_agent_auth }} no_log: "{{ checkmk_agent_no_log | bool }}" register: __checkmk_agent_update_state diff --git a/roles/agent/tasks/Win32NT.yml b/roles/agent/tasks/Win32NT.yml index 5cbe3eb95..189fa8766 100644 --- a/roles/agent/tasks/Win32NT.yml +++ b/roles/agent/tasks/Win32NT.yml @@ -74,7 +74,7 @@ - name: "{{ ansible_system }}: Register Agent for automatic Updates using Automation Secret." # noqa no-changed-when ansible.windows.win_command: | check_mk_agent.exe updater register -H {{ checkmk_agent_host_name }} \ - -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_server_protocol }} \ + -s {{ checkmk_agent_registration_server }} -i {{ checkmk_agent_registration_site }} -p {{ checkmk_agent_registration_server_protocol }} \ -U {{ checkmk_agent_user }} -S {{ __checkmk_agent_auth }} no_log: "{{ checkmk_agent_no_log | bool }}" register: __checkmk_agent_update_state From c97bec6a8a440d4d707472f8a90d254abab258fa Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 12 Jul 2024 15:14:00 +0200 Subject: [PATCH 13/30] Move option. --- roles/agent/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/agent/defaults/main.yml b/roles/agent/defaults/main.yml index a39a9e605..c2f163359 100644 --- a/roles/agent/defaults/main.yml +++ b/roles/agent/defaults/main.yml @@ -19,6 +19,7 @@ checkmk_agent_auto_activate: 'false' checkmk_agent_add_host: 'false' checkmk_agent_discover: 'false' checkmk_agent_discover_max_parallel_tasks: 0 +checkmk_agent_force_foreign_changes: 'false' checkmk_agent_update: 'false' checkmk_agent_tls: 'false' checkmk_agent_configure_firewall: 'true' @@ -30,7 +31,6 @@ checkmk_agent_delegate_api_calls: localhost checkmk_agent_delegate_download: "{{ inventory_hostname }}" checkmk_agent_host_name: "{{ inventory_hostname }}" checkmk_agent_folder: "{{ checkmk_var_folder_path | default('/') }}" -checkmk_agent_force_foreign_changes: 'false' checkmk_agent_host_attributes: ipaddress: "{{ checkmk_agent_host_ip | default(omit) }}" checkmk_agent_mode: pull From 8dbfe51fdcb9eb3575e5cbc4f3afbb9171f7d0c0 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Wed, 17 Jul 2024 15:21:31 +0200 Subject: [PATCH 14/30] Bump collection version and Checkmk versions. --- galaxy.yml | 2 +- roles/agent/README.md | 2 +- roles/agent/defaults/main.yml | 2 +- roles/agent/molecule/2.1.0/group_vars/all.yml | 2 +- roles/agent/molecule/2.2.0/group_vars/all.yml | 2 +- roles/agent/molecule/2.3.0/group_vars/all.yml | 2 +- roles/server/README.md | 2 +- roles/server/defaults/main.yml | 2 +- roles/server/molecule/2.1.0/group_vars/all.yml | 2 +- roles/server/molecule/2.2.0/group_vars/all.yml | 2 +- roles/server/molecule/2.3.0/group_vars/all.yml | 2 +- scripts/release.sh | 6 +++--- tests/integration/targets/activation/vars/main.yml | 8 ++++---- tests/integration/targets/bakery/vars/main.yml | 6 +++--- tests/integration/targets/contact_group/vars/main.yml | 10 +++++----- tests/integration/targets/discovery/vars/main.yml | 8 ++++---- tests/integration/targets/downtime/vars/main.yml | 8 ++++---- tests/integration/targets/folder/vars/main.yml | 8 ++++---- tests/integration/targets/host/vars/main.yml | 8 ++++---- tests/integration/targets/host_group/vars/main.yml | 10 +++++----- tests/integration/targets/lookup_bakery/vars/main.yml | 6 +++--- tests/integration/targets/lookup_folder/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_folders/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_host/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_hosts/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_rules/vars/main.yml | 8 ++++---- .../integration/targets/lookup_rulesets/vars/main.yml | 8 ++++---- tests/integration/targets/lookup_version/vars/main.yml | 8 ++++---- tests/integration/targets/password/vars/main.yml | 10 +++++----- tests/integration/targets/rule/vars/main.yml | 8 ++++---- tests/integration/targets/service_group/vars/main.yml | 10 +++++----- tests/integration/targets/tag_group/vars/main.yml | 10 +++++----- tests/integration/targets/timeperiod/vars/main.yml | 8 ++++---- tests/integration/targets/user/vars/main.yml | 10 +++++----- 34 files changed, 106 insertions(+), 106 deletions(-) diff --git a/galaxy.yml b/galaxy.yml index e9b440a07..0e90ffb39 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -10,7 +10,7 @@ name: general # The version of the collection. Must be compatible with semantic versioning -version: 5.1.0 +version: 5.2.0 # The path to the Markdown (.md) readme file. This path is relative to the root of the collection readme: README.md diff --git a/roles/agent/README.md b/roles/agent/README.md index 97e0cea1b..d5dd27fa6 100644 --- a/roles/agent/README.md +++ b/roles/agent/README.md @@ -16,7 +16,7 @@ Please make sure it is installed on your system and available for Ansible. ## Role Variables - checkmk_agent_version: "2.3.0p9" + checkmk_agent_version: "2.3.0p10" The Checkmk version of the site your agents will talk to. diff --git a/roles/agent/defaults/main.yml b/roles/agent/defaults/main.yml index 2715b99be..7f7e23122 100644 --- a/roles/agent/defaults/main.yml +++ b/roles/agent/defaults/main.yml @@ -1,5 +1,5 @@ --- -checkmk_agent_version: "2.3.0p9" +checkmk_agent_version: "2.3.0p10" checkmk_agent_edition: cre checkmk_agent_server_protocol: http checkmk_agent_server: localhost diff --git a/roles/agent/molecule/2.1.0/group_vars/all.yml b/roles/agent/molecule/2.1.0/group_vars/all.yml index 0112736d4..fde0ebf8e 100644 --- a/roles/agent/molecule/2.1.0/group_vars/all.yml +++ b/roles/agent/molecule/2.1.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.1.0p45" +checkmk_var_version: "2.1.0p46" checkmk_var_edition: "cre" checkmk_var_checkmk_site: "mysite" checkmk_var_automation_user: "cmkadmin" diff --git a/roles/agent/molecule/2.2.0/group_vars/all.yml b/roles/agent/molecule/2.2.0/group_vars/all.yml index 63daf8788..6024116f8 100644 --- a/roles/agent/molecule/2.2.0/group_vars/all.yml +++ b/roles/agent/molecule/2.2.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.2.0p30" +checkmk_var_version: "2.2.0p31" checkmk_var_edition: "cre" checkmk_var_checkmk_site: "mysite" checkmk_var_automation_user: "cmkadmin" diff --git a/roles/agent/molecule/2.3.0/group_vars/all.yml b/roles/agent/molecule/2.3.0/group_vars/all.yml index 395449edd..afb6d6120 100644 --- a/roles/agent/molecule/2.3.0/group_vars/all.yml +++ b/roles/agent/molecule/2.3.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.3.0p9" +checkmk_var_version: "2.3.0p10" checkmk_var_edition: "cre" checkmk_var_checkmk_site: "mysite" checkmk_var_automation_user: "cmkadmin" diff --git a/roles/server/README.md b/roles/server/README.md index a18c736c8..d96a914d5 100644 --- a/roles/server/README.md +++ b/roles/server/README.md @@ -25,7 +25,7 @@ To learn about the distributions used in automated tests, inspect the correspond ## Role Variables - checkmk_server_version: "2.3.0p9" + checkmk_server_version: "2.3.0p10" The global Checkmk version. This is used for installing Checkmk. To manage sites and their version, see `checkmk_server_sites`. diff --git a/roles/server/defaults/main.yml b/roles/server/defaults/main.yml index d0bf4ae6c..35920ee20 100644 --- a/roles/server/defaults/main.yml +++ b/roles/server/defaults/main.yml @@ -25,7 +25,7 @@ checkmk_server_server_stable_os: - Ubuntu-22 - Ubuntu-24 -checkmk_server_version: "2.3.0p9" +checkmk_server_version: "2.3.0p10" checkmk_server_edition: cre checkmk_server_verify_setup: 'true' diff --git a/roles/server/molecule/2.1.0/group_vars/all.yml b/roles/server/molecule/2.1.0/group_vars/all.yml index 5f324a011..3bbc9d767 100644 --- a/roles/server/molecule/2.1.0/group_vars/all.yml +++ b/roles/server/molecule/2.1.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.1.0p45" +checkmk_var_version: "2.1.0p46" checkmk_var_edition: "cre" checkmk_server_verify_setup: 'true' checkmk_var_server_url: "http://127.0.0.1/" diff --git a/roles/server/molecule/2.2.0/group_vars/all.yml b/roles/server/molecule/2.2.0/group_vars/all.yml index a9b36278b..8ea5afac0 100644 --- a/roles/server/molecule/2.2.0/group_vars/all.yml +++ b/roles/server/molecule/2.2.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.2.0p30" +checkmk_var_version: "2.2.0p31" checkmk_var_edition: "cre" checkmk_server_verify_setup: 'true' checkmk_var_server_url: "http://127.0.0.1/" diff --git a/roles/server/molecule/2.3.0/group_vars/all.yml b/roles/server/molecule/2.3.0/group_vars/all.yml index 8ece9bcc0..478c89ea0 100644 --- a/roles/server/molecule/2.3.0/group_vars/all.yml +++ b/roles/server/molecule/2.3.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.3.0p9" +checkmk_var_version: "2.3.0p10" checkmk_var_edition: "cre" checkmk_server_verify_setup: 'true' checkmk_var_server_url: "http://127.0.0.1/" diff --git a/scripts/release.sh b/scripts/release.sh index 2c2a86a44..e6f8835ae 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -15,9 +15,9 @@ script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) collection_dir="${script_dir%/*}" # Update these as necessary: -checkmk_ancient="2.1.0p45" -checkmk_oldstable="2.2.0p30" -checkmk_stable="2.3.0p9" +checkmk_ancient="2.1.0p46" +checkmk_oldstable="2.2.0p31" +checkmk_stable="2.3.0p10" while getopts 's:t:' OPTION; do case "$OPTION" in diff --git a/tests/integration/targets/activation/vars/main.yml b/tests/integration/targets/activation/vars/main.yml index 5562e06ee..4baecf3bf 100644 --- a/tests/integration/targets/activation/vars/main.yml +++ b/tests/integration/targets/activation/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/bakery/vars/main.yml b/tests/integration/targets/bakery/vars/main.yml index a1c01b702..caf7b47f4 100644 --- a/tests/integration/targets/bakery/vars/main.yml +++ b/tests/integration/targets/bakery/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cee" site: "old_cee" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cee" # site: "ancient_cee" diff --git a/tests/integration/targets/contact_group/vars/main.yml b/tests/integration/targets/contact_group/vars/main.yml index b8d7b64ab..e7adcdaa2 100644 --- a/tests/integration/targets/contact_group/vars/main.yml +++ b/tests/integration/targets/contact_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cme" site: "stable_cme" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/discovery/vars/main.yml b/tests/integration/targets/discovery/vars/main.yml index fac4daafa..098f44895 100644 --- a/tests/integration/targets/discovery/vars/main.yml +++ b/tests/integration/targets/discovery/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/downtime/vars/main.yml b/tests/integration/targets/downtime/vars/main.yml index 0ddec9d3d..f9a1422cc 100644 --- a/tests/integration/targets/downtime/vars/main.yml +++ b/tests/integration/targets/downtime/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/folder/vars/main.yml b/tests/integration/targets/folder/vars/main.yml index 54e23b1e9..5577ad893 100644 --- a/tests/integration/targets/folder/vars/main.yml +++ b/tests/integration/targets/folder/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/host/vars/main.yml b/tests/integration/targets/host/vars/main.yml index 2fe0d1d54..8e7df23d0 100644 --- a/tests/integration/targets/host/vars/main.yml +++ b/tests/integration/targets/host/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/host_group/vars/main.yml b/tests/integration/targets/host_group/vars/main.yml index 012771ded..d8745b7f5 100644 --- a/tests/integration/targets/host_group/vars/main.yml +++ b/tests/integration/targets/host_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cme" site: "stable_cme" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_bakery/vars/main.yml b/tests/integration/targets/lookup_bakery/vars/main.yml index fe371e229..c4f7329f8 100644 --- a/tests/integration/targets/lookup_bakery/vars/main.yml +++ b/tests/integration/targets/lookup_bakery/vars/main.yml @@ -1,11 +1,11 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cee" site: "old_cee" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cee" # site: "ancient_cee" diff --git a/tests/integration/targets/lookup_folder/vars/main.yml b/tests/integration/targets/lookup_folder/vars/main.yml index ca78cbb22..99e8cb912 100644 --- a/tests/integration/targets/lookup_folder/vars/main.yml +++ b/tests/integration/targets/lookup_folder/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_folders/vars/main.yml b/tests/integration/targets/lookup_folders/vars/main.yml index 4a72912e0..bded02bf7 100644 --- a/tests/integration/targets/lookup_folders/vars/main.yml +++ b/tests/integration/targets/lookup_folders/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_host/vars/main.yml b/tests/integration/targets/lookup_host/vars/main.yml index b1ac33c06..65135f8d0 100644 --- a/tests/integration/targets/lookup_host/vars/main.yml +++ b/tests/integration/targets/lookup_host/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_hosts/vars/main.yml b/tests/integration/targets/lookup_hosts/vars/main.yml index e4a695bca..fac303292 100644 --- a/tests/integration/targets/lookup_hosts/vars/main.yml +++ b/tests/integration/targets/lookup_hosts/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_rules/vars/main.yml b/tests/integration/targets/lookup_rules/vars/main.yml index 5653817f1..f4c27dd40 100644 --- a/tests/integration/targets/lookup_rules/vars/main.yml +++ b/tests/integration/targets/lookup_rules/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_rulesets/vars/main.yml b/tests/integration/targets/lookup_rulesets/vars/main.yml index d5b7467c4..2a58f290f 100644 --- a/tests/integration/targets/lookup_rulesets/vars/main.yml +++ b/tests/integration/targets/lookup_rulesets/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/lookup_version/vars/main.yml b/tests/integration/targets/lookup_version/vars/main.yml index ba016574f..bc4b8e024 100644 --- a/tests/integration/targets/lookup_version/vars/main.yml +++ b/tests/integration/targets/lookup_version/vars/main.yml @@ -1,14 +1,14 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/password/vars/main.yml b/tests/integration/targets/password/vars/main.yml index 20d26ad1c..c60a4703c 100644 --- a/tests/integration/targets/password/vars/main.yml +++ b/tests/integration/targets/password/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cme" site: "stable_cme" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/rule/vars/main.yml b/tests/integration/targets/rule/vars/main.yml index ba016574f..bc4b8e024 100644 --- a/tests/integration/targets/rule/vars/main.yml +++ b/tests/integration/targets/rule/vars/main.yml @@ -1,14 +1,14 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/service_group/vars/main.yml b/tests/integration/targets/service_group/vars/main.yml index b63842bff..956768cce 100644 --- a/tests/integration/targets/service_group/vars/main.yml +++ b/tests/integration/targets/service_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cme" site: "stable_cme" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/tag_group/vars/main.yml b/tests/integration/targets/tag_group/vars/main.yml index 6bac02177..9c0ca349f 100644 --- a/tests/integration/targets/tag_group/vars/main.yml +++ b/tests/integration/targets/tag_group/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cme" site: "stable_cme" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/timeperiod/vars/main.yml b/tests/integration/targets/timeperiod/vars/main.yml index ad3ab8f07..513ed7923 100644 --- a/tests/integration/targets/timeperiod/vars/main.yml +++ b/tests/integration/targets/timeperiod/vars/main.yml @@ -1,15 +1,15 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" diff --git a/tests/integration/targets/user/vars/main.yml b/tests/integration/targets/user/vars/main.yml index bf982023b..6359a8537 100644 --- a/tests/integration/targets/user/vars/main.yml +++ b/tests/integration/targets/user/vars/main.yml @@ -1,18 +1,18 @@ --- test_sites: - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cme" site: "stable_cme" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cee" site: "stable_cee" - - version: "2.3.0p9" + - version: "2.3.0p10" edition: "cre" site: "stable_cre" - - version: "2.2.0p30" + - version: "2.2.0p31" edition: "cre" site: "old_cre" - # - version: "2.1.0p45" + # - version: "2.1.0p46" # edition: "cre" # site: "ancient_cre" From b2eaeace5edb86992e5068e97699d06fd8a6540c Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Wed, 17 Jul 2024 15:21:46 +0200 Subject: [PATCH 15/30] Fix #634 --- roles/agent/tasks/Linux.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/roles/agent/tasks/Linux.yml b/roles/agent/tasks/Linux.yml index 9f6f2b17f..baea93395 100644 --- a/roles/agent/tasks/Linux.yml +++ b/roles/agent/tasks/Linux.yml @@ -101,6 +101,9 @@ ansible.builtin.command: cat /var/lib/cmk-agent/registered_connections.json register: __checkmk_agent_registered_connections changed_when: false + failed_when: | + not __checkmk_agent_registered_connections.rc == 0 + and not __checkmk_agent_registered_connections.rc == 1 - name: "{{ ansible_system }}: Register Agent for automatic Updates using User Password." become: true From e9eb088e02c29283a2003f040a5ee1bb78c916cb Mon Sep 17 00:00:00 2001 From: "max.sickora" Date: Wed, 17 Jul 2024 15:56:02 +0200 Subject: [PATCH 16/30] Initial commit for taggroup update --- plugins/modules/tag_group.py | 83 +++++++++++++++++------------------- 1 file changed, 40 insertions(+), 43 deletions(-) diff --git a/plugins/modules/tag_group.py b/plugins/modules/tag_group.py index e3e21605d..e81b7a4b8 100644 --- a/plugins/modules/tag_group.py +++ b/plugins/modules/tag_group.py @@ -130,10 +130,9 @@ from ansible_collections.checkmk.general.plugins.module_utils.utils import ( result_as_dict, ) - -# from ansible_collections.checkmk.general.plugins.module_utils.version import ( -# CheckmkVersion, -# ) +from ansible_collections.checkmk.general.plugins.module_utils.version import ( + CheckmkVersion, +) # We count 404 not as failed, because we want to know if the taggroup exists or not. HTTP_CODES_GET = { @@ -142,7 +141,7 @@ } -def normalize_data(raw_data): +def normalize_data(raw_data, ver): data = { "title": raw_data.get("title", ""), "topic": raw_data.get("topic", ""), @@ -157,14 +156,29 @@ def normalize_data(raw_data): # The API uses "ident" instead of "id" for the put & post endpoints if "tags" in data: for d in data["tags"]: - if "id" in d: + if "id" in d and ver < CheckmkVersion("2.4.0"): d["ident"] = d.pop("id") return data -class TaggroupCreateAPI(CheckmkAPI): - def post(self): +class TaggroupAPI(CheckmkAPI): + def __init__(self, module): + super().__init__(module) + + data = {} + # Get current taggroup + self.current = self._fetch( + code_mapping=HTTP_CODES_GET, + endpoint="/objects/host_tag_group/%s" % self.params.get("name"), + data=data, + method="GET", + ) + + # Get Checkmk-version + self.ver = self.getversion() + + def post(self): # Create taggroup if not self.params.get("title") or not self.params.get("tags"): result = RESULT( http_code=0, @@ -177,8 +191,11 @@ def post(self): return result else: - data = normalize_data(self.params) - data["ident"] = self.params.get("name") + data = normalize_data(self.params, self.ver) + if self.ver < CheckmkVersion("2.4.0"): + data["ident"] = self.params.get("name") + else: + data["id"] = self.params.get("name") return self._fetch( endpoint="/domain-types/host_tag_group/collections/all", @@ -186,10 +203,8 @@ def post(self): method="POST", ) - -class TaggroupUpdateAPI(CheckmkAPI): - def put(self): - data = normalize_data(self.params) + def put(self): # Update taggroup + data = normalize_data(self.params, self.ver) return self._fetch( endpoint="/objects/host_tag_group/%s" % self.params.get("name"), @@ -197,9 +212,7 @@ def put(self): method="PUT", ) - -class TaggroupDeleteAPI(CheckmkAPI): - def delete(self): + def delete(self): # Remove taggroup data = {} return self._fetch( @@ -210,18 +223,6 @@ def delete(self): ) -class TaggroupGetAPI(CheckmkAPI): - def get(self): - data = {} - - return self._fetch( - code_mapping=HTTP_CODES_GET, - endpoint="/objects/host_tag_group/%s" % self.params.get("name"), - data=data, - method="GET", - ) - - def changes_detected(module, current): if module.params.get("title") != current.get("title"): # The title has changed @@ -286,35 +287,31 @@ def run_module(): changed=False, ) - taggroupget = TaggroupGetAPI(module) - current = taggroupget.get() + taggroup = TaggroupAPI(module) if module.params.get("state") == "present": - if current.http_code == 200: + if taggroup.current.http_code == 200: # If tag group has changed then update it. - if changes_detected(module, json.loads(current.content.decode("utf-8"))): - taggroupupdate = TaggroupUpdateAPI(module) - taggroupupdate.headers["If-Match"] = current.etag - result = taggroupupdate.put() + if changes_detected(module, json.loads(taggroup.current.content.decode("utf-8"))): + taggroup.headers["If-Match"] = taggroup.current.etag + result = taggroup.put() time.sleep(3) - elif current.http_code == 404: + elif taggroup.current.http_code == 404: # Tag group is not there. Create it. - taggroupcreate = TaggroupCreateAPI(module) - result = taggroupcreate.post() + result = taggroup.post() time.sleep(3) if module.params.get("state") == "absent": # Only delete if the Taggroup exists - if current.http_code == 200: - taggroupdelete = TaggroupDeleteAPI(module) - result = taggroupdelete.delete() + if taggroup.current.http_code == 200: + result = taggroup.delete() time.sleep(3) - elif current.http_code == 404: + elif taggroup.current.http_code == 404: result = RESULT( http_code=0, msg="Taggroup doesn't exist.", From c6f01c25cd69efd3544dc1fbcc54ba105bed0e96 Mon Sep 17 00:00:00 2001 From: "max.sickora" Date: Wed, 17 Jul 2024 16:25:52 +0200 Subject: [PATCH 17/30] Add more space --- plugins/modules/tag_group.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/modules/tag_group.py b/plugins/modules/tag_group.py index e81b7a4b8..c4015d6ed 100644 --- a/plugins/modules/tag_group.py +++ b/plugins/modules/tag_group.py @@ -178,7 +178,7 @@ def __init__(self, module): # Get Checkmk-version self.ver = self.getversion() - def post(self): # Create taggroup + def post(self): # Create taggroup if not self.params.get("title") or not self.params.get("tags"): result = RESULT( http_code=0, @@ -203,7 +203,7 @@ def post(self): # Create taggroup method="POST", ) - def put(self): # Update taggroup + def put(self): # Update taggroup data = normalize_data(self.params, self.ver) return self._fetch( @@ -212,7 +212,7 @@ def put(self): # Update taggroup method="PUT", ) - def delete(self): # Remove taggroup + def delete(self): # Remove taggroup data = {} return self._fetch( From 3270f239378f6bfb85a7b02c1153963129465630 Mon Sep 17 00:00:00 2001 From: "max.sickora" Date: Wed, 17 Jul 2024 16:31:20 +0200 Subject: [PATCH 18/30] Black added --- plugins/modules/tag_group.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/modules/tag_group.py b/plugins/modules/tag_group.py index c4015d6ed..5de9433e2 100644 --- a/plugins/modules/tag_group.py +++ b/plugins/modules/tag_group.py @@ -292,7 +292,9 @@ def run_module(): if module.params.get("state") == "present": if taggroup.current.http_code == 200: # If tag group has changed then update it. - if changes_detected(module, json.loads(taggroup.current.content.decode("utf-8"))): + if changes_detected( + module, json.loads(taggroup.current.content.decode("utf-8")) + ): taggroup.headers["If-Match"] = taggroup.current.etag result = taggroup.put() From 36b6d1b04c60a6e8c44c08f9ed4388974cf28b7d Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Fri, 19 Jul 2024 11:26:14 +0200 Subject: [PATCH 19/30] Add changelog. --- changelogs/fragments/agent.yaml | 6 ++++++ changelogs/fragments/downtime.yaml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/agent.yaml diff --git a/changelogs/fragments/agent.yaml b/changelogs/fragments/agent.yaml new file mode 100644 index 000000000..20632980a --- /dev/null +++ b/changelogs/fragments/agent.yaml @@ -0,0 +1,6 @@ +minor_changes: + - Agent role - Allow registration on mixed protocol environments. + This means the central and remote site do not both have to use either HTTP or HTTPS. + +bugfixes: + - Agent role - Fix registration in cases where a prior registration failed. diff --git a/changelogs/fragments/downtime.yaml b/changelogs/fragments/downtime.yaml index 5c67c8fc0..98dd9ab9e 100644 --- a/changelogs/fragments/downtime.yaml +++ b/changelogs/fragments/downtime.yaml @@ -1,2 +1,2 @@ bugfixes: - - Downtime module - Downtimes are now correctly removed when only specifying a single service \ No newline at end of file + - Downtime module - Downtimes are now correctly removed when only specifying a single service. From 2ef1700e3528e578b8ea3dc43650f69bc6c7a8ac Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Wed, 24 Jul 2024 11:34:15 +0200 Subject: [PATCH 20/30] Remove VirtualBox stuff, as we do not use it anymore. --- .gitignore | 7 +- Vagrantfile.kvm => Vagrantfile | 0 Vagrantfile.vbox | 145 --------------------------------- playbooks/{hosts.kvm => hosts} | 0 playbooks/hosts.vbox | 30 ------- 5 files changed, 1 insertion(+), 181 deletions(-) rename Vagrantfile.kvm => Vagrantfile (100%) delete mode 100644 Vagrantfile.vbox rename playbooks/{hosts.kvm => hosts} (100%) delete mode 100644 playbooks/hosts.vbox diff --git a/.gitignore b/.gitignore index b0cb459d1..2effe2425 100644 --- a/.gitignore +++ b/.gitignore @@ -10,9 +10,4 @@ build/ tests/output playbooks/vars/config.yml playbooks/test*.yml -playbooks/hosts -playbooks/hosts.bak -venv/ -Vagrantfile -Vagrantfile.bak -venv \ No newline at end of file +venv/ \ No newline at end of file diff --git a/Vagrantfile.kvm b/Vagrantfile similarity index 100% rename from Vagrantfile.kvm rename to Vagrantfile diff --git a/Vagrantfile.vbox b/Vagrantfile.vbox deleted file mode 100644 index 2adc51dae..000000000 --- a/Vagrantfile.vbox +++ /dev/null @@ -1,145 +0,0 @@ -# -*- mode: ruby -*- -# vi: set ft=ruby : - -# All Vagrant configuration is done below. The "2" in Vagrant.configure -# configures the configuration version (we support older styles for -# backwards compatibility). Please don't change it unless you know what -# you're doing. -Vagrant.configure("2") do |config| - - # We are using boxes from here: https://app.vagrantup.com/generic - - # Main Box - config.vm.define "collection", primary: true do |srv| - srv.vm.box = "ubuntu/jammy64" - srv.vm.network "private_network", ip: "192.168.56.42" - srv.ssh.insert_key = false - srv.vm.provider "virtualbox" do |v| - v.name = 'collection' - v.memory = 8096 - v.cpus = 4 - end - $script = <<-SCRIPT - apt-get -y update --quiet - apt-get -y install python3-pip ca-certificates curl gnupg lsb-release qemu-guest-agent - sudo -u vagrant python3 -m pip install pip --upgrade - sudo -u vagrant python3 -m pip install -r /home/vagrant/ansible_collections/checkmk/general/requirements.txt - sudo -u vagrant python3 -m pip install -r /home/vagrant/ansible_collections/checkmk/general/requirements-qa.txt - sudo -u vagrant ansible-galaxy collection install -f -r /home/vagrant/ansible_collections/checkmk/general/requirements.yml - mkdir -p /home/vagrant/ansible_collections/checkmk/general - mkdir -p /etc/apt/keyrings - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null - apt-get update - apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin - usermod -aG docker vagrant - grep "alias ic=" /home/vagrant/.bashrc || echo "alias ic='ansible-galaxy collection build --force ~/ansible_collections/checkmk/general && ansible-galaxy collection install -f ./checkmk-general-*.tar.gz && rm ./checkmk-general-*.tar.gz'" >> /home/vagrant/.bashrc - grep "alias ap=" /home/vagrant/.bashrc || echo "alias ap='ansible-playbook -i vagrant, '" >> /home/vagrant/.bashrc - hostnamectl set-hostname collection - SCRIPT - srv.vm.provision "shell", inline: $script - srv.vm.synced_folder "./", "/home/vagrant/ansible_collections/checkmk/general/" - end - - # Ubuntu - config.vm.define "ansibuntu", autostart: false , primary: false do |srv| - srv.vm.box = "ubuntu/jammy64" - srv.vm.network "private_network", ip: "192.168.56.61" - srv.ssh.insert_key = false - srv.vm.provider "virtualbox" do |v| - v.name = 'ansibuntu' - v.memory = 2048 - v.cpus = 2 - end - srv.vm.provision "shell", - inline: "apt-get -y update --quiet && apt-get -y install vim htop curl wget git" - end - - # Debian - config.vm.define "debsible", autostart: false , primary: false do |srv| - srv.vm.box = "debian/bookworm64" - srv.vm.network "private_network", ip: "192.168.56.62" - srv.ssh.insert_key = false - srv.vm.provider "virtualbox" do |v| - v.name = 'debsible' - v.memory = 2048 - v.cpus = 2 - end - srv.vm.provision "shell", - inline: "apt-get -y update --quiet && apt-get -y install vim htop curl wget git" - end - - # CentOS Stream - config.vm.define "anstream", autostart: false , primary: false do |srv| - srv.vm.box = "generic/centos9s" - srv.vm.network "private_network", ip: "192.168.56.63" - srv.ssh.insert_key = false - srv.vm.provider "virtualbox" do |v| - v.name = 'anstream' - v.memory = 2048 - v.cpus = 2 - end - srv.vm.provision "shell", - inline: "dnf --quiet check-update ; dnf -y install vim curl wget git" - end - - # openSUSE - config.vm.define "ansuse", autostart: false , primary: false do |srv| - srv.vm.box = "opensuse/Tumbleweed.x86_64" - srv.vm.network "private_network", ip: "192.168.56.64" - srv.ssh.insert_key = false - srv.vm.provider "virtualbox" do |v| - v.name = 'ansuse' - v.memory = 2048 - v.cpus = 2 - end - srv.vm.provision "shell", - inline: "zypper --quiet up -y" - end - - # SLES15 - config.vm.define "ansles", autostart: false , primary: false do |srv| - srv.vm.box = "saltstack/cicd-sles15" - srv.vm.network "private_network", ip: "192.168.56.65" - srv.ssh.insert_key = false - srv.vm.provider "virtualbox" do |v| - v.name = 'ansles' - v.memory = 2048 - v.cpus = 2 - end - srv.vm.provision "shell", - inline: "zypper --quiet up -y" - end - - - # Oracle Linux - config.vm.define "ansoracle", autostart: false , primary: false do |srv| - srv.vm.box = "generic/oracle8" - srv.vm.network "private_network", ip: "192.168.56.66" - srv.ssh.insert_key = false - srv.vm.provider "virtualbox" do |v| - v.name = 'ansoracle' - v.memory = 2048 - v.cpus = 2 - end - srv.vm.provision "shell", - inline: "dnf --quiet check-update ; dnf -y install vim curl wget git" - end - - # Windows - config.vm.define "ansidows", autostart: false , primary: false do |srv| - srv.vm.box = "gusztavvargadr/windows-server-2019-standard" - srv.vm.network "private_network", ip: "192.168.56.67" - srv.vm.communicator = "winrm" - srv.vm.hostname = "ansidows" - srv.vm.provider "virtualbox" do |srv| - srv.name = 'ansidows' - srv.memory = 4096 - srv.cpus = 2 - srv.gui = false - end - srv.vm.provision "shell", - inline: "powershell Set-NetFirewallRule -name 'FPS-ICMP4-ERQ-In*' -Enabled true" - end - -end diff --git a/playbooks/hosts.kvm b/playbooks/hosts similarity index 100% rename from playbooks/hosts.kvm rename to playbooks/hosts diff --git a/playbooks/hosts.vbox b/playbooks/hosts.vbox deleted file mode 100644 index 8c0bee301..000000000 --- a/playbooks/hosts.vbox +++ /dev/null @@ -1,30 +0,0 @@ -[test] -test1.tld checkmk_var_folder_path="/test" -test2.tld checkmk_var_folder_path="/foo" -test3.tld checkmk_var_folder_path="/bar" -test4.tld checkmk_var_folder_path="/" -test5.tld checkmk_var_folder_path="/foo/bar" - -[linux] -ansibuntu ansible_host=192.168.56.61 checkmk_var_folder_path="/test" -debsible ansible_host=192.168.56.62 checkmk_var_folder_path="/foo" -anstream ansible_host=192.168.56.63 checkmk_var_folder_path="foo/bar" -ansuse ansible_host=192.168.56.64 checkmk_var_folder_path="/bar" -ansles ansible_host=192.168.56.65 checkmk_var_folder_path="/bar/foo" -ansoracle ansible_host=192.168.56.66 checkmk_var_folder_path="/foo" - -[windows] -ansidows ansible_host=192.168.56.67 checkmk_var_folder_path="/" - -[windows:vars] -ansible_shell_type = cmd -ansible_winrm_scheme = http -ansible_winrm_transport = basic -ansible_winrm_server_cert_validation = ignore - -[vagrant:children] -linux -windows - -[vagrant:vars] -ansible_user=vagrant From a40b26f311e380667914ded80821411be34e960a Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Wed, 24 Jul 2024 11:34:24 +0200 Subject: [PATCH 21/30] Update Makefile. --- Makefile | 40 ++++++++++------------------------------ 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index 173026ad6..69669c829 100644 --- a/Makefile +++ b/Makefile @@ -12,17 +12,11 @@ CONTAINER_NAME="ansible-checkmk-test" help: @echo "setup - Run all setup target at once." @echo "" - @echo "setup-python - Prepare the system for development with Python." + @echo "python - Prepare the system for development with Python." @echo "" - @echo "setup-kvm - Install and enable KVM and prepare Vagrant." + @echo "kvm - Install and enable KVM." @echo "" - @echo "kvm - Only copy the correct Vagrantfile for use with KVM." - @echo "" - @echo "setup-vbox - Copy the correct Vagrantfile for use with VirtualBox." - @echo "" - @echo "vbox - Copy the correct Vagrantfile for use with VirtualBox." - @echo "" - @echo "setup-vagrant - Install and enable Vagrant." + @echo "vagrant - Install and enable Vagrant." @echo "" @echo "venv - Install Python Virtual Environment. You need to activate it yourself though!" @echo "" @@ -61,9 +55,9 @@ version: @newversion=$$(dialog --stdout --inputbox "New Version:" 0 0 "$(VERSION)") ; \ if [ -n "$$newversion" ] ; then ./scripts/release.sh -s "$(VERSION)" -t $$newversion ; fi -setup: setup-python setup-kvm +setup: setup-python kvm vagrant -setup-python: +python: @sudo apt-get -y update --quiet @sudo apt-get -y install -y \ python3-pip \ @@ -76,36 +70,21 @@ setup-python: @python3 -m pip install -r requirements.txt kvm: - if [ -f Vagrantfile ] ; then cp Vagrantfile Vagrantfile.bak ; fi - cp Vagrantfile.kvm Vagrantfile - if [ -f playbooks/hosts ] ; then cp playbooks/hosts playbooks/hosts.bak ; fi - cp playbooks/hosts.kvm playbooks/hosts - -setup-kvm: kvm @sudo apt update -y @sudo apt install -y \ virt-manager \ qemu-kvm \ libvirt-clients \ libvirt-daemon-system \ - bridge-utils \--build-arg DL_PW=$$(cat .secret) + bridge-utils \ libvirt-daemon\ libvirt-dev \ libxslt-dev \ libxml2-dev \ zlib1g-dev @sudo systemctl enable --now libvirtd - @vagrant plugin install vagrant-libvirt -vbox: - if [ -f Vagrantfile ] ; then cp Vagrantfile Vagrantfile.bak ; fi - cp Vagrantfile.vbox Vagrantfile - if [ -f playbooks/hosts ] ; then cp playbooks/hosts playbooks/hosts.bak ; fi - cp playbooks/hosts.vbox playbooks/hosts - -setup-vbox: vbox - -setup-vagrant: +vagrant: @sudo apt update -y @sudo apt install -y \ apt-transport-https \ @@ -121,15 +100,16 @@ setup-vagrant: venv: @python3 -m venv venv + @(. venv/bin/activate && python3 -m pip install pip --upgrade && python3 -m pip install -r requirements.txt) @echo @echo "Run the following command to actually activate the venv!" @echo ". venv/bin/activate" @echo - @(. venv/bin/activate && python3 -m pip install pip --upgrade && python3 -m pip install -r requirements.txt) clean: @rm -rf .tox/ - @rm -rf venv/ + @rm -rf ./venv/ + @rm -rf ./tests/output/* @vagrant destroy --force vm: From 1289a581c04a3566cbe702b7ec1f20e895fac8a0 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Wed, 24 Jul 2024 11:47:29 +0200 Subject: [PATCH 22/30] Add release summary. --- changelogs/fragments/release_summary.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelogs/fragments/release_summary.yml diff --git a/changelogs/fragments/release_summary.yml b/changelogs/fragments/release_summary.yml new file mode 100644 index 000000000..76a0cceb2 --- /dev/null +++ b/changelogs/fragments/release_summary.yml @@ -0,0 +1 @@ +release_summary: "Some bug fixing and a module update." From 86ffeb5b18dd15d1a6242dbb12bbf020a37b77b5 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Wed, 24 Jul 2024 11:52:33 +0200 Subject: [PATCH 23/30] Add changelog. --- changelogs/fragments/tag_group.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/fragments/tag_group.yaml diff --git a/changelogs/fragments/tag_group.yaml b/changelogs/fragments/tag_group.yaml new file mode 100644 index 000000000..294018027 --- /dev/null +++ b/changelogs/fragments/tag_group.yaml @@ -0,0 +1,5 @@ +minor_changes: + - Tag_group module - Enable module for Checkmk 2.4.0 by using + `id` instead of `ident` to identify tag groups and their tags. + See https://checkmk.com/werk/16364 for background information. + - Tag_group module - Migrate module to new collection API. From d422becbe344474cdf2c7da38a141212600c6f7d Mon Sep 17 00:00:00 2001 From: Fabian Kirschner Date: Wed, 24 Jul 2024 20:16:52 +0200 Subject: [PATCH 24/30] docs: add ansible.utils dependency to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a30917f75..891e52658 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ This is an open source endeavour, on which we want to collaborate with the commu ## Dependencies - [ansible.posix](https://github.com/ansible-collections/ansible.posix) + - [ansible.utils](https://github.com/ansible-collections/ansible.utils) - [community.general](https://github.com/ansible-collections/community.general) Although the Ansible project notes, that collections should have no or very little dependencies, we want to make sure the collection works for you out-of-the-box. Currently we only depend on very basic collections, which are most likely already installed in your environment. For version constraints, see [galaxy.yml](galaxy.yml). From 568952f768dc86a1ae927aee23bfbb7cb08181fb Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Mon, 29 Jul 2024 16:21:42 +0200 Subject: [PATCH 25/30] Cleanup playbooks. --- playbooks/roles.yml | 10 +++--- playbooks/vars/rules.yml | 78 ---------------------------------------- 2 files changed, 5 insertions(+), 83 deletions(-) diff --git a/playbooks/roles.yml b/playbooks/roles.yml index 77928c8c0..161d5a2b4 100644 --- a/playbooks/roles.yml +++ b/playbooks/roles.yml @@ -8,6 +8,11 @@ tasks: + - name: "Run server role." + tags: [server] + ansible.builtin.import_role: + name: server + - name: "Create folders." tags: [agent] checkmk.general.folder: @@ -23,11 +28,6 @@ run_once: true # noqa run-once[task] loop: "{{ checkmk_var_folders }}" - - name: "Run server role." - tags: [server] - ansible.builtin.import_role: - name: server - - name: "Run agent role." tags: [agent] ansible.builtin.import_role: diff --git a/playbooks/vars/rules.yml b/playbooks/vars/rules.yml index 0f596b25b..f177a1404 100644 --- a/playbooks/vars/rules.yml +++ b/playbooks/vars/rules.yml @@ -18,81 +18,3 @@ checkmk_var_rules: "disabled": false } value_raw: "{'magic': 0.8}" - - - name: "CPU - Load." - ruleset: "checkgroup_parameters:cpu_load" - rule: - location: - folder: "/" - position: "bottom" - conditions: { - "host_labels": [], - "host_tags": [], - "service_labels": [] - } - properties: { - "comment": "{{ ansible_date_time.iso8601 }} - Ansible managed", - "description": "", - "disabled": false - } - value_raw: "{'levels': (1.0, 2.0)}" - - - name: "CPU - Utilization." - ruleset: "checkgroup_parameters:cpu_iowait" - rule: - location: - folder: "/" - position: "bottom" - conditions: { - "host_labels": [], - "host_tags": [], - "service_labels": [] - } - properties: { - "comment": "{{ ansible_date_time.iso8601 }} - Ansible managed", - "description": "", - "disabled": false - } - value_raw: "{'core_util_time': (100.0, 300, 900), 'core_util_time_total': (100.0, 300, 900)}" - - - name: "Logwatch - Event Console Forwarding." - ruleset: "checkgroup_parameters:logwatch_ec" - rule: - location: - folder: "/" - position: "bottom" - conditions: { - "host_labels": [], - "host_tags": [], - "service_labels": [] - } - properties: { - "comment": "{{ ansible_date_time.iso8601 }} - Ansible managed", - "description": "", - "disabled": false - } - value_raw: "{'facility': 17, 'method': '', 'monitor_logfilelist': False}" - - - name: "Disable irrelevant Services." - ruleset: "ignored_services" - rule: - location: - folder: "/" - position: "bottom" - conditions: { - "host_labels": [], - "host_tags": [], - "service_labels": [], - "service_description": { - "match_on": [ - "VBox Guest Additions" - ], - "operator": "one_of" - } - } - properties: { - "comment": "{{ ansible_date_time.iso8601 }} - Ansible managed", - "description": "", - "disabled": false - } - value_raw: "True" From 70c2dabc421a31fc3bf5ee512e54d730b42dbdc4 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Mon, 29 Jul 2024 16:21:49 +0200 Subject: [PATCH 26/30] Add changelog. --- changelogs/fragments/build.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/fragments/build.yaml diff --git a/changelogs/fragments/build.yaml b/changelogs/fragments/build.yaml new file mode 100644 index 000000000..892db6496 --- /dev/null +++ b/changelogs/fragments/build.yaml @@ -0,0 +1,5 @@ +minor_changes: + - The local development environment was cleaned up. We removed all traces of + VirtualBox and now exclusively use KVM/QEMU virtualization. This has no + effect on using the collection. It only affects you, if you develop for this + collection and used the `Vagrantfile` or `Makefile`. From 125aa2ae3460854a2e508ded922b627428220093 Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Mon, 29 Jul 2024 16:30:49 +0200 Subject: [PATCH 27/30] Bump Checkmk version. --- roles/agent/README.md | 2 +- roles/agent/defaults/main.yml | 2 +- roles/agent/molecule/2.3.0/group_vars/all.yml | 2 +- roles/server/README.md | 2 +- roles/server/defaults/main.yml | 2 +- roles/server/molecule/2.3.0/group_vars/all.yml | 2 +- scripts/release.sh | 2 +- tests/integration/targets/activation/vars/main.yml | 4 ++-- tests/integration/targets/bakery/vars/main.yml | 2 +- tests/integration/targets/contact_group/vars/main.yml | 6 +++--- tests/integration/targets/discovery/vars/main.yml | 4 ++-- tests/integration/targets/downtime/vars/main.yml | 4 ++-- tests/integration/targets/folder/vars/main.yml | 4 ++-- tests/integration/targets/host/vars/main.yml | 4 ++-- tests/integration/targets/host_group/vars/main.yml | 6 +++--- tests/integration/targets/lookup_bakery/vars/main.yml | 2 +- tests/integration/targets/lookup_folder/vars/main.yml | 4 ++-- tests/integration/targets/lookup_folders/vars/main.yml | 4 ++-- tests/integration/targets/lookup_host/vars/main.yml | 4 ++-- tests/integration/targets/lookup_hosts/vars/main.yml | 4 ++-- tests/integration/targets/lookup_rules/vars/main.yml | 4 ++-- tests/integration/targets/lookup_rulesets/vars/main.yml | 4 ++-- tests/integration/targets/lookup_version/vars/main.yml | 4 ++-- tests/integration/targets/password/vars/main.yml | 6 +++--- tests/integration/targets/rule/vars/main.yml | 4 ++-- tests/integration/targets/service_group/vars/main.yml | 6 +++--- tests/integration/targets/tag_group/vars/main.yml | 6 +++--- tests/integration/targets/timeperiod/vars/main.yml | 4 ++-- tests/integration/targets/user/vars/main.yml | 6 +++--- 29 files changed, 55 insertions(+), 55 deletions(-) diff --git a/roles/agent/README.md b/roles/agent/README.md index d5dd27fa6..046f73ccf 100644 --- a/roles/agent/README.md +++ b/roles/agent/README.md @@ -16,7 +16,7 @@ Please make sure it is installed on your system and available for Ansible. ## Role Variables - checkmk_agent_version: "2.3.0p10" + checkmk_agent_version: "2.3.0p11" The Checkmk version of the site your agents will talk to. diff --git a/roles/agent/defaults/main.yml b/roles/agent/defaults/main.yml index 7f7e23122..eee1ee160 100644 --- a/roles/agent/defaults/main.yml +++ b/roles/agent/defaults/main.yml @@ -1,5 +1,5 @@ --- -checkmk_agent_version: "2.3.0p10" +checkmk_agent_version: "2.3.0p11" checkmk_agent_edition: cre checkmk_agent_server_protocol: http checkmk_agent_server: localhost diff --git a/roles/agent/molecule/2.3.0/group_vars/all.yml b/roles/agent/molecule/2.3.0/group_vars/all.yml index afb6d6120..f6e4ccda5 100644 --- a/roles/agent/molecule/2.3.0/group_vars/all.yml +++ b/roles/agent/molecule/2.3.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.3.0p10" +checkmk_var_version: "2.3.0p11" checkmk_var_edition: "cre" checkmk_var_checkmk_site: "mysite" checkmk_var_automation_user: "cmkadmin" diff --git a/roles/server/README.md b/roles/server/README.md index d96a914d5..51b8303ca 100644 --- a/roles/server/README.md +++ b/roles/server/README.md @@ -25,7 +25,7 @@ To learn about the distributions used in automated tests, inspect the correspond ## Role Variables - checkmk_server_version: "2.3.0p10" + checkmk_server_version: "2.3.0p11" The global Checkmk version. This is used for installing Checkmk. To manage sites and their version, see `checkmk_server_sites`. diff --git a/roles/server/defaults/main.yml b/roles/server/defaults/main.yml index 35920ee20..3731fc730 100644 --- a/roles/server/defaults/main.yml +++ b/roles/server/defaults/main.yml @@ -25,7 +25,7 @@ checkmk_server_server_stable_os: - Ubuntu-22 - Ubuntu-24 -checkmk_server_version: "2.3.0p10" +checkmk_server_version: "2.3.0p11" checkmk_server_edition: cre checkmk_server_verify_setup: 'true' diff --git a/roles/server/molecule/2.3.0/group_vars/all.yml b/roles/server/molecule/2.3.0/group_vars/all.yml index 478c89ea0..30fb2b777 100644 --- a/roles/server/molecule/2.3.0/group_vars/all.yml +++ b/roles/server/molecule/2.3.0/group_vars/all.yml @@ -1,6 +1,6 @@ --- # General -checkmk_var_version: "2.3.0p10" +checkmk_var_version: "2.3.0p11" checkmk_var_edition: "cre" checkmk_server_verify_setup: 'true' checkmk_var_server_url: "http://127.0.0.1/" diff --git a/scripts/release.sh b/scripts/release.sh index e6f8835ae..2310e2497 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -17,7 +17,7 @@ collection_dir="${script_dir%/*}" # Update these as necessary: checkmk_ancient="2.1.0p46" checkmk_oldstable="2.2.0p31" -checkmk_stable="2.3.0p10" +checkmk_stable="2.3.0p11" while getopts 's:t:' OPTION; do case "$OPTION" in diff --git a/tests/integration/targets/activation/vars/main.yml b/tests/integration/targets/activation/vars/main.yml index 4baecf3bf..68f3527dc 100644 --- a/tests/integration/targets/activation/vars/main.yml +++ b/tests/integration/targets/activation/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - version: "2.2.0p31" diff --git a/tests/integration/targets/bakery/vars/main.yml b/tests/integration/targets/bakery/vars/main.yml index caf7b47f4..fa834455a 100644 --- a/tests/integration/targets/bakery/vars/main.yml +++ b/tests/integration/targets/bakery/vars/main.yml @@ -1,6 +1,6 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - version: "2.2.0p31" diff --git a/tests/integration/targets/contact_group/vars/main.yml b/tests/integration/targets/contact_group/vars/main.yml index e7adcdaa2..66ec1d624 100644 --- a/tests/integration/targets/contact_group/vars/main.yml +++ b/tests/integration/targets/contact_group/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cme" site: "stable_cme" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/discovery/vars/main.yml b/tests/integration/targets/discovery/vars/main.yml index 098f44895..f2e0ea5d5 100644 --- a/tests/integration/targets/discovery/vars/main.yml +++ b/tests/integration/targets/discovery/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/downtime/vars/main.yml b/tests/integration/targets/downtime/vars/main.yml index f9a1422cc..0690fc13b 100644 --- a/tests/integration/targets/downtime/vars/main.yml +++ b/tests/integration/targets/downtime/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/folder/vars/main.yml b/tests/integration/targets/folder/vars/main.yml index 5577ad893..55bf19ed1 100644 --- a/tests/integration/targets/folder/vars/main.yml +++ b/tests/integration/targets/folder/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/host/vars/main.yml b/tests/integration/targets/host/vars/main.yml index 8e7df23d0..a177038c1 100644 --- a/tests/integration/targets/host/vars/main.yml +++ b/tests/integration/targets/host/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - version: "2.2.0p31" diff --git a/tests/integration/targets/host_group/vars/main.yml b/tests/integration/targets/host_group/vars/main.yml index d8745b7f5..81a07d4b3 100644 --- a/tests/integration/targets/host_group/vars/main.yml +++ b/tests/integration/targets/host_group/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cme" site: "stable_cme" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_bakery/vars/main.yml b/tests/integration/targets/lookup_bakery/vars/main.yml index c4f7329f8..a04ed7252 100644 --- a/tests/integration/targets/lookup_bakery/vars/main.yml +++ b/tests/integration/targets/lookup_bakery/vars/main.yml @@ -1,6 +1,6 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_folder/vars/main.yml b/tests/integration/targets/lookup_folder/vars/main.yml index 99e8cb912..b75be1905 100644 --- a/tests/integration/targets/lookup_folder/vars/main.yml +++ b/tests/integration/targets/lookup_folder/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_folders/vars/main.yml b/tests/integration/targets/lookup_folders/vars/main.yml index bded02bf7..7d9f6d02c 100644 --- a/tests/integration/targets/lookup_folders/vars/main.yml +++ b/tests/integration/targets/lookup_folders/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_host/vars/main.yml b/tests/integration/targets/lookup_host/vars/main.yml index 65135f8d0..a29f4e24a 100644 --- a/tests/integration/targets/lookup_host/vars/main.yml +++ b/tests/integration/targets/lookup_host/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_hosts/vars/main.yml b/tests/integration/targets/lookup_hosts/vars/main.yml index fac303292..dd04c74c6 100644 --- a/tests/integration/targets/lookup_hosts/vars/main.yml +++ b/tests/integration/targets/lookup_hosts/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_rules/vars/main.yml b/tests/integration/targets/lookup_rules/vars/main.yml index f4c27dd40..259849651 100644 --- a/tests/integration/targets/lookup_rules/vars/main.yml +++ b/tests/integration/targets/lookup_rules/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_rulesets/vars/main.yml b/tests/integration/targets/lookup_rulesets/vars/main.yml index 2a58f290f..f55f77a81 100644 --- a/tests/integration/targets/lookup_rulesets/vars/main.yml +++ b/tests/integration/targets/lookup_rulesets/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/lookup_version/vars/main.yml b/tests/integration/targets/lookup_version/vars/main.yml index bc4b8e024..1d5b1b7a1 100644 --- a/tests/integration/targets/lookup_version/vars/main.yml +++ b/tests/integration/targets/lookup_version/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/password/vars/main.yml b/tests/integration/targets/password/vars/main.yml index c60a4703c..803adad38 100644 --- a/tests/integration/targets/password/vars/main.yml +++ b/tests/integration/targets/password/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cme" site: "stable_cme" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/rule/vars/main.yml b/tests/integration/targets/rule/vars/main.yml index bc4b8e024..1d5b1b7a1 100644 --- a/tests/integration/targets/rule/vars/main.yml +++ b/tests/integration/targets/rule/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/service_group/vars/main.yml b/tests/integration/targets/service_group/vars/main.yml index 956768cce..757a489fb 100644 --- a/tests/integration/targets/service_group/vars/main.yml +++ b/tests/integration/targets/service_group/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cme" site: "stable_cme" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/tag_group/vars/main.yml b/tests/integration/targets/tag_group/vars/main.yml index 9c0ca349f..fb1ed4578 100644 --- a/tests/integration/targets/tag_group/vars/main.yml +++ b/tests/integration/targets/tag_group/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cme" site: "stable_cme" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/timeperiod/vars/main.yml b/tests/integration/targets/timeperiod/vars/main.yml index 513ed7923..8e8f7d0a3 100644 --- a/tests/integration/targets/timeperiod/vars/main.yml +++ b/tests/integration/targets/timeperiod/vars/main.yml @@ -1,9 +1,9 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" diff --git a/tests/integration/targets/user/vars/main.yml b/tests/integration/targets/user/vars/main.yml index 6359a8537..93c0b0b93 100644 --- a/tests/integration/targets/user/vars/main.yml +++ b/tests/integration/targets/user/vars/main.yml @@ -1,12 +1,12 @@ --- test_sites: - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cme" site: "stable_cme" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cee" site: "stable_cee" - - version: "2.3.0p10" + - version: "2.3.0p11" edition: "cre" site: "stable_cre" - version: "2.2.0p31" From 750f7c5f57ad08bcd063a4495ee7aa7426fe3708 Mon Sep 17 00:00:00 2001 From: "max.sickora" Date: Wed, 31 Jul 2024 14:33:32 +0200 Subject: [PATCH 28/30] Further improvements --- plugins/modules/tag_group.py | 49 +++++++++++++++++------------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/plugins/modules/tag_group.py b/plugins/modules/tag_group.py index 5de9433e2..7adfb8125 100644 --- a/plugins/modules/tag_group.py +++ b/plugins/modules/tag_group.py @@ -141,27 +141,6 @@ } -def normalize_data(raw_data, ver): - data = { - "title": raw_data.get("title", ""), - "topic": raw_data.get("topic", ""), - "help": raw_data.get("help", ""), - "tags": raw_data.get("tags", ""), - "repair": raw_data.get("repair"), - } - - # Remove all keys without value, as they would be emptied. - data = {key: val for key, val in data.items() if val} - - # The API uses "ident" instead of "id" for the put & post endpoints - if "tags" in data: - for d in data["tags"]: - if "id" in d and ver < CheckmkVersion("2.4.0"): - d["ident"] = d.pop("id") - - return data - - class TaggroupAPI(CheckmkAPI): def __init__(self, module): super().__init__(module) @@ -178,6 +157,26 @@ def __init__(self, module): # Get Checkmk-version self.ver = self.getversion() + def normalize_data(self): + data = { + "title": self.params.get("title", ""), + "topic": self.params.get("topic", ""), + "help": self.params.get("help", ""), + "tags": self.params.get("tags", ""), + "repair": self.params.get("repair"), + } + + # Remove all keys without value, as they would be emptied. + data = {key: val for key, val in data.items() if val} + + # The API uses "ident" instead of "id" for the put & post endpoints + if "tags" in data: + for d in data["tags"]: + if "id" in d and self.ver < CheckmkVersion("2.4.0"): + d["ident"] = d.pop("id") + + return data + def post(self): # Create taggroup if not self.params.get("title") or not self.params.get("tags"): result = RESULT( @@ -191,7 +190,7 @@ def post(self): # Create taggroup return result else: - data = normalize_data(self.params, self.ver) + data = self.normalize_data() if self.ver < CheckmkVersion("2.4.0"): data["ident"] = self.params.get("name") else: @@ -204,7 +203,7 @@ def post(self): # Create taggroup ) def put(self): # Update taggroup - data = normalize_data(self.params, self.ver) + data = self.normalize_data() return self._fetch( endpoint="/objects/host_tag_group/%s" % self.params.get("name"), @@ -213,12 +212,10 @@ def put(self): # Update taggroup ) def delete(self): # Remove taggroup - data = {} return self._fetch( endpoint="/objects/host_tag_group/%s?repair=%s" % (self.params.get("name"), self.params.get("repair")), - # data=data, method="DELETE", ) @@ -316,7 +313,7 @@ def run_module(): elif taggroup.current.http_code == 404: result = RESULT( http_code=0, - msg="Taggroup doesn't exist.", + msg="Taggroup already absent.", content="", etag="", failed=False, From 0beeb18b289d115438f3b1114dd5fc367d611f85 Mon Sep 17 00:00:00 2001 From: "max.sickora" Date: Wed, 31 Jul 2024 14:38:20 +0200 Subject: [PATCH 29/30] And another one --- plugins/modules/tag_group.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/modules/tag_group.py b/plugins/modules/tag_group.py index 7adfb8125..5f3215f95 100644 --- a/plugins/modules/tag_group.py +++ b/plugins/modules/tag_group.py @@ -203,6 +203,7 @@ def post(self): # Create taggroup ) def put(self): # Update taggroup + self.headers["If-Match"] = self.current.etag data = self.normalize_data() return self._fetch( @@ -212,7 +213,6 @@ def put(self): # Update taggroup ) def delete(self): # Remove taggroup - return self._fetch( endpoint="/objects/host_tag_group/%s?repair=%s" % (self.params.get("name"), self.params.get("repair")), @@ -292,7 +292,6 @@ def run_module(): if changes_detected( module, json.loads(taggroup.current.content.decode("utf-8")) ): - taggroup.headers["If-Match"] = taggroup.current.etag result = taggroup.put() time.sleep(3) From 8a4c714a8ee0864db50a440e0b3da2b6e0f161de Mon Sep 17 00:00:00 2001 From: Robin Gierse Date: Mon, 5 Aug 2024 11:28:44 +0200 Subject: [PATCH 30/30] Finalize release. --- SUPPORT.md | 1 + .../fragments/{release_summary.yml => release_summary.yaml} | 0 2 files changed, 1 insertion(+) rename changelogs/fragments/{release_summary.yml => release_summary.yaml} (100%) diff --git a/SUPPORT.md b/SUPPORT.md index deae1ffb1..39385e581 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -55,3 +55,4 @@ Collection Version | Checkmk Versions | Ansible Versions | Remarks 4.4.1 | 2.0.0p39, 2.1.0p41, 2.2.0p24 | 2.14, 2.15, 2.16 | None 5.0.0 | 2.1.0p44, 2.2.0p27, 2.3.0p5 | 2.15, 2.16, 2.17 | Breaking changes to the following modules: `lookup_folder`, `rule` and role: `agent`. 5.1.0 | 2.1.0p44, 2.2.0p27, 2.3.0p6 | 2.15, 2.16, 2.17 | None +5.2.0 | 2.1.0p46, 2.2.0p31, 2.3.0p11 | 2.15, 2.16, 2.17 | None diff --git a/changelogs/fragments/release_summary.yml b/changelogs/fragments/release_summary.yaml similarity index 100% rename from changelogs/fragments/release_summary.yml rename to changelogs/fragments/release_summary.yaml