Skip to content

Commit

Permalink
debugging integration tests - gave up, applied workaround
Browse files Browse the repository at this point in the history
  • Loading branch information
lgetwan committed Dec 7, 2023
1 parent a5041dc commit 10d91e9
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 88 deletions.
3 changes: 1 addition & 2 deletions plugins/lookup/rulesets.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,9 @@ def run(self, terms, variables, **kwargs):

if "code" in response:
raise AnsibleError(
"Received error for %s (%s)- %s: %s"
"Received error for %s - %s: %s"
% (
response.get("url", ""),
response.get("parameters", ""),
response.get("code", ""),
response.get("msg", ""),
)
Expand Down
10 changes: 4 additions & 6 deletions plugins/module_utils/lookup_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ def get(self, endpoint="", parameters=None):
url = self.url + endpoint

try:
p_msg = ""
if parameters:
p_msg = str(parameters)
url = "%s?%s" % (url, urlencode(parameters))

raw_response = open_url(
Expand All @@ -54,11 +52,11 @@ def get(self, endpoint="", parameters=None):
except HTTPError as e:
if e.code in HTTP_ERROR_CODES:
return json.dumps(
{"code": e.code, "msg": HTTP_ERROR_CODES[e.code], "url": url, "parameters": p_msg}
{"code": e.code, "msg": HTTP_ERROR_CODES[e.code], "url": url}
)
else:
return json.dumps({"code": e.code, "msg": e.reason, "url": url, "parameters": p_msg})
return json.dumps({"code": e.code, "msg": e.reason, "url": url})
except URLError as e:
return json.dumps({"code": 0, "msg": str(e), "url": url, "parameters": p_msg})
return json.dumps({"code": 0, "msg": str(e), "url": url})
except Exception as e:
return json.dumps({"code": 0, "msg": str(e), "url": url, "parameters": p_msg})
return json.dumps({"code": 0, "msg": str(e), "url": url})
6 changes: 2 additions & 4 deletions tests/integration/targets/lookup_rules/tasks/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
vars:
eitem: "checkgroup_parameters:cpu_load"
rules: "{{ lookup('checkmk.general.rules',
ruleset=kack.ruleset,
ruleset=item,
rulesets_used=True,
server_url=server_url,
site=outer_item.site,
Expand All @@ -45,9 +45,7 @@
}}"
delegate_to: localhost
run_once: true # noqa run-once[task]
loop: "{{ checkmk_rules }}"
loop_control:
loop_var: kack
loop: "{{ checkmk_rulesets }}"


- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Get each single rule of a ruleset."
Expand Down
8 changes: 8 additions & 0 deletions tests/integration/targets/lookup_rules/vars/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,14 @@ checkmk_server_edition_mapping:
cce: cloud
cme: managed

checkmk_rulesets:
- "checkgroup_parameters:filesystem"
- "checkgroup_parameters:cpu_load"
- "checkgroup_parameters:cpu_iowait"
- "checkgroup_parameters:logwatch_ec"
- "usewalk_hosts"
- "checkgroup_parameters:memory_percentage_used"

checkmk_rules:

- name: "Filesystem - Magic Factor."
Expand Down
77 changes: 1 addition & 76 deletions tests/integration/targets/lookup_rulesets/tasks/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,81 +64,6 @@
delegate_to: localhost
run_once: true # noqa run-once[task]

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - DEBUGGING: WHY DOES THAT LEAD TO AN ERROR?"
ansible.builtin.debug:
var: rulesets
vars:
rulesets: "{{ lookup('checkmk.general.rulesets',
regex=item,
rulesets_used=True,
server_url=server_url,
site=outer_item.site,
validate_certs=False,
automation_user=automation_user,
automation_secret=automation_secret)
}}"
delegate_to: localhost
run_once: true # noqa run-once[task]
loop: "{{ checkmk_ruleset_regexes }}"

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - DEBUGGING: WHY DOES THAT LEAD TO AN ERROR?"
ansible.builtin.debug:
var: item
delegate_to: localhost
run_once: true # noqa run-once[task]
loop: "{{ checkmk_rules }}"

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - DEBUGGING: Content of checkmk_ruleset_regexes"
ansible.builtin.debug:
msg: "{{ checkmk_ruleset_regexes }}"
delegate_to: localhost
run_once: true # noqa run-once[task]

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - DEBUGGING: run over checkmk_ruleset_regexes"
ansible.builtin.assert:
# For each rule that we created, check, if the number of rules in its ruleset is 1.
that: "rulesets[0].extensions.number_of_rules == 1"
vars:
rulesets: "{{ lookup('checkmk.general.rulesets',
regex=item,
rulesets_used=True,
server_url=server_url,
site=outer_item.site,
validate_certs=False,
automation_user=automation_user,
automation_secret=automation_secret)
}}"
delegate_to: localhost
run_once: true # noqa run-once[task]
loop: "{{ checkmk_ruleset_regexes }}"

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - DEBUGGING: Looping variable ruleset_regexes"
set_fact:
ruleset_regexes: "{{ checkmk_rules|selectattr('ruleset', 'defined')|map(attribute='ruleset') }}"

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - DEBUGGING: Content of Looping variable ruleset_regexes"
ansible.builtin.debug:
msg: "{{ ruleset_regexes }}"
delegate_to: localhost
run_once: true # noqa run-once[task]

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - DEBUGGING: run over ruleset_regexes"
ansible.builtin.assert:
that: "rulesets[0].extensions.number_of_rules == 1"
vars:
rulesets: "{{ lookup('checkmk.general.rulesets',
regex=item,
rulesets_used=True,
server_url=server_url,
site=outer_item.site,
validate_certs=False,
automation_user=automation_user,
automation_secret=automation_secret)
}}"
delegate_to: localhost
run_once: true # noqa run-once[task]
loop: "{{ ruleset_regexes }}"

- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Verify number of rules using lookup-ruleset."
ansible.builtin.assert:
# For each rule that we created, check, if the number of rules in its ruleset is 1.
Expand All @@ -154,4 +79,4 @@
}}"
delegate_to: localhost
run_once: true # noqa run-once[task]
loop: "{{ checkmk_rules }}"
loop: "{{ checkmk_ruleset_regexes }}"
4 changes: 4 additions & 0 deletions tests/integration/targets/lookup_rulesets/vars/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ checkmk_ruleset_regexes:
- "checkgroup_parameters:filesystem"
- "checkgroup_parameters:cpu_load"
- "checkgroup_parameters:cpu_iowait"
- "checkgroup_parameters:logwatch_ec"
- "usewalk_hosts"
- "checkgroup_parameters:memory_percentage_used"


checkmk_rules:

Expand Down

0 comments on commit 10d91e9

Please sign in to comment.