Werk #17783: Fix update of certificate validity settings in rule "Check HTTP web service"

Component Setup
Title Fix update of certificate validity settings in rule "Check HTTP web service"
Date Mar 19, 2025
Level Trivial Change
Class Bug Fix
Compatibility Compatible - no manual interaction needed
Checkmk versions & editions
2.5.0b1
Not yet released
Checkmk Raw (CRE), Checkmk Enterprise (CEE), Checkmk Cloud (CCE), Checkmk MSP (CME)
2.4.0b2 Checkmk Raw (CRE), Checkmk Enterprise (CEE), Checkmk Cloud (CCE), Checkmk MSP (CME)

Checkmk can be configured to not impose any levels on the certificate validity in the rule "Check HTTP web service". When using this option, updating from Checkmk 2.3 to 2.4 resulted in errors such as

-|  WARNING: Exception in ruleset implementation detected (Ruleset: active_checks:httpv2, Title: Check HTTP web service, Folder: ,
-| Rule nr: 1, Exception: Invalid value ('no_levels', None) for certificate levels)
-| Traceback (most recent call last):
-|   File "/omd/sites/my_site/lib/python3/cmk/update_config/plugins/actions/rulesets.py", line 36, in validate_rule_values
-|     ruleset.rulespec.valuespec.validate_datatype(
-|   File "/omd/sites/my_site/lib/python3/cmk/gui/valuespec/definitions.py", line 6603, in validate_datatype
-|     self._valuespec.validate_datatype(self.to_valuespec(value), varprefix)
-|   File "/omd/sites/my_site/lib/python3/cmk/gui/valuespec/definitions.py", line 6285, in validate_datatype
-|     vs.validate_datatype(value[param], f"{varprefix}_p_{param}")
-|   File "/omd/sites/my_site/lib/python3/cmk/gui/valuespec/definitions.py", line 6603, in validate_datatype
-|     self._valuespec.validate_datatype(self.to_valuespec(value), varprefix)
-|   File "/omd/sites/my_site/lib/python3/cmk/gui/valuespec/definitions.py", line 6285, in validate_datatype
-|     vs.validate_datatype(value[param], f"{varprefix}_p_{param}")
-|   File "/omd/sites/my_site/lib/python3/cmk/gui/valuespec/definitions.py", line 6603, in validate_datatype
-|     self._valuespec.validate_datatype(self.to_valuespec(value), varprefix)
-|                                       ^^^^^^^^^^^^^^^^^^^^^^^^
-|   File "/omd/sites/my_site/lib/python3/cmk/gui/utils/rule_specs/legacy_converter.py", line 849, in wrapper
-|     return update_func(v)
-|            ^^^^^^^^^^^^^^
-|   File "/omd/sites/my_site/lib/python3/cmk/plugins/collection/rulesets/httpv2.py", line 620, in _migrate_to_cascading
-|     raise ValueError(f"Invalid value {params!r} for certificate levels")
-| ValueError: Invalid value ('no_levels', None) for certificate levels
-| A crash report was generated with ID: 4a1403f8-03fb-11f0-9787-0a3955ea6618
-|  Detected 1 issue(s) in loaded rulesets. This is a problem with the plug-in implementation. It needs to be addressed by the maintainers. Please review the crashes in the crash reports page to help fix the issues. Until all issues are resolved, we recommend disabling the affected rules.

To the list of all Werks