Title: Prevent check_mail crash for "Move to subfolder" option
Class: fix
Compatible: compat
Component: checks
Date: 1710753543
Edition: cre
Level: 1
Version: 2.2.0p24
The active check check_mail can be configured to move mail messages from the inbox to a subfolder via the options "Forward mails as events to Event Console" > "Cleanup messages" > "Move to subfolder".
For IMAP the copying of mails crashed when there were no mails available in the inbox.
This is fixed to skipping the copy command in case there are no mails given.
Title: quantum_libsmall_*: Improve SNMP detection
Class: fix
Compatible: compat
Component: checks
Date: 1709035896
Edition: cre
Level: 1
Version: 2.2.0p24
Currently the SNMP detection for <code>quantum_libsmall_status</code> and <code>quantum_libsmall_door</code> checks if "linux" and "library" are contained in the sysDescr and sysLocation OIDs. To make the detection more reliable, the sysObjectID is checked against the linux object identifier and the libraryProductName .1.3.6.1.4.1.3697.1.10.10.1.10.0 against "Quantum Small Library Product".
[//]: # (werk v2)
# Support Old Configuration Format For 'Disable notifications'
key | value
---------- | ---
date | 2024-03-18T13:59:16+00:00
version | 2.4.0b1
class | fix
edition | cre
component | notifications
level | 1
compatible | yes
In Werk #6417, we announced that some changes to `etc/check_mk/conf.d/wato/contacts.mk` are
necessary before updating. In case a user did not migrate his configuration, they would encounter
the following crash in 2.2.0, but not in 2.1.0:
```
File "/omd/sites/edding/lib/python3/cmk/base/notify.py", line 968, in rbn_rule_contacts
if disable_notifications_opts.get("disable", False):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'get'
```
This crash is now no longer shown.
Werk 16640 was adapted. The following is the new Werk, a diff is shown at the end of the message.
[//]: # (werk v2)
# Ruleset API: Improve custom validation
key | value
---------- | ---
date | 2024-03-14T14:49:51+00:00
version | 2.4.0b1
class | fix
edition | cre
component | checks
level | 1
compatible | no
To better support the combination of different validation functions, FormSpecs now expect a sequence of validation functions instead of just one for `custom_validate`.
The validation of empty inputs is now handled in the new validator `LengthInRange` instead of `DisallowEmpty`.
If you used
```
custom_validate=DisallowEmpty()
```
before, use
```
custom_validate=LengthInRange(min_value=1)
```
now.
For consistency, `InRange` is renamed to `NumberInRange`
------------------------------------<diff>-------------------------------------------
[//]: # (werk v2)
# Ruleset API: Improve custom validation
key | value
---------- | ---
date | 2024-03-14T14:49:51+00:00
version | 2.4.0b1
class | fix
edition | cre
component | checks
level | 1
compatible | no
To better support the combination of different validation functions, FormSpecs now expect a sequence of validation functions instead of just one for `custom_validate`.
+ The validation of empty inputs is now handled in the new validator `LengthInRange` instead of `DisallowEmpty`.
+ If you used
+ ```
+ custom_validate=DisallowEmpty()
+ ```
+ before, use
+ ```
+ custom_validate=LengthInRange(min_value=1)
+ ```
+ now.
For consistency, `InRange` is renamed to `NumberInRange`
Werk 16640 was adapted. The following is the new Werk, a diff is shown at the end of the message.
[//]: # (werk v2)
# Ruleset API: Improve custom validation
key | value
---------- | ---
date | 2024-03-14T14:49:51+00:00
version | 2.4.0b1
class | fix
edition | cre
component | checks
level | 1
compatible | no
To better support the combination of different validation functions, FormSpecs now expect a sequence of validation functions instead of just one for `custom_validate`.
For consistency, `InRange` is renamed to `NumberInRange`
------------------------------------<diff>-------------------------------------------
[//]: # (werk v2)
# Ruleset API: Improve custom validation
key | value
---------- | ---
date | 2024-03-14T14:49:51+00:00
version | 2.4.0b1
class | fix
edition | cre
component | checks
level | 1
compatible | no
To better support the combination of different validation functions, FormSpecs now expect a sequence of validation functions instead of just one for `custom_validate`.
+ For consistency, `InRange` is renamed to `NumberInRange`
+
[//]: # (werk v2)
# Ruleset API: Improve custom validation
key | value
---------- | ---
date | 2024-03-14T14:49:51+00:00
version | 2.4.0b1
class | fix
edition | cre
component | checks
level | 1
compatible | no
To better support the combination of different validation functions, FormSpecs now expect a sequence of validation functions instead of just one for `custom_validate`.
[//]: # (werk v2)
# Virtual host tree links work for more than three host tag groups
key | value
---------- | ---
date | 2024-03-15T09:24:42+00:00
version | 2.4.0b1
class | fix
edition | cre
component | multisite
level | 1
compatible | yes
A virtual host tree (Setup > General > Global settings > User interface > Virtual host trees) can be configured with more than three host tag tree levels. Yet, the corresponding views that are linked to from the sidebar element "Virtual host trees" were not able to display more than three rows in the "Host tags" filter and thus only filtered for the first three.
This is fixed. A virtual host tree link as described above now leads to a properly filtered view with all the given host tag filters shown in the filter popup.
[//]: # (werk v2)
# cmk-update-config: Correct Assigning Files to Extension Package
key | value
---------- | ---
date | 2024-03-14T12:54:20+00:00
version | 2.4.0b1
class | fix
edition | cre
component | omd
level | 1
compatible | yes
This Werk affects those who are testing the 2.3.0 beta. It affects users, whom have enabled MKPs and
then use either `omd update` or `cmk-update-config`.
During the pre-update steps of Checkmk all rulesets are loaded, which are part of an MKP.
Previously, if an error occurs during this step, then the user is prompted with the following error.
```
02/05 UI extensions...
Error loading rulespecs:
[ValueError('cmk.plugins.redfish.rulesets.datasource: boom')]
Incompatible local file 'cmk/plugins/redfish/rulesets/datasource.py'.
Error: cmk.plugins.redfish.rulesets.datasource: boom
You can abort the update process (A) and try to fix the incompatibilities or continue the update (c).
Abort the update process? [A/c]
```
Thus, eventhough the file belongs to an MKP, if that file is part of the ruleset API v1, then
Checkmk does not correctly recognize that the file belongs to an MKP during the update. Now, Checkmk
offers to disable the MKP instead, i.e.,
```
You can abort the update process (A) or disable the extension package (d) and continue the update process.
Abort the update process? [A/d]
```
[//]: # (werk v2)
# Prevent check_mail crash for "Move to subfolder" option
key | value
---------- | ---
date | 2024-03-18T09:19:03+00:00
version | 2.4.0b1
class | fix
edition | cre
component | checks
level | 1
compatible | yes
The active check check_mail can be configured to move mail messages from the inbox to a subfolder via the options "Forward mails as events to Event Console" > "Cleanup messages" > "Move to subfolder".
For IMAP the copying of mails crashed when there were no mails available in the inbox.
This is fixed to skipping the copy command in case there are no mails given.
[//]: # (werk v2)
# Effective parameters of Check_MK Discovery
key | value
---------- | ---
date | 2024-03-16T23:26:40+00:00
version | 2.4.0b1
class | feature
edition | cre
component | checks
level | 1
compatible | yes
In the page "Effective parameters of \<HOST\> / Check_MK Discovery" the parameters of the periodic service discovery where not shown.
In addition some values have been shown that are not relevant to this service.