Update of Configuration failes

Our surroundings:
Debian 10
Checkmk Version 1.6.0p12

Expected behavior:
cmk -O runs through

Actual behavior:
See the screenshot (relevant: share/check_mk/checks/check_ssh", line 29, in check_ssh_desc
if params.get(“description”):
AttributeError: ‘tuple’ object has no attribute ‘get’)

Result: Changes in the configuration can no longer be made.

Has anybody an idea?
Thanks!

Is your installation updated from a very old version?
This option exists since 4 years.
It is only possible that somewhere in your system is an old configuration file what is overwriting the right settings from WATO.

no, unfortunately not: update from 1.6.0p11 to 1.6.0p12 today.
Where can I search for an old configuration?

The command cmk --debug -O does not finish, no matter how long I run it. The only error message is the one I described at the beginning. But this does not lead to an abort!

check not only with the “–debug” flag make a “cmk --debug -vvO”.
Or if you know the host using the SSH check then you can also test with an “cmk --debug -vvn hostname”.

I’ve already done that: The process simply hangs at any line “Loading autochecks from /omd/sites…”.

I replicated this on our test system.
The error occurs after the update to p12:
After the “done” in the setup the script doesn’t finish (which the colleague who did the update ignored). In the background cmk -U is running (with mentioned error).
Even a strace -o /tmp/error.txt cmk --debug -Ovv doesn’t really bring any enlightening; the last “Read” is here:

read(4, “\200\2]q\1((U\fisc-gw-sip-1q\2K\2]q\3(h\2U”…, 1959588) = 1959588

But this host ist really longterm in monitoring.

Hi Bernhard,

within ~/etc/check_mk/conf.d/wato should be a rules.mk with a section “active_checks[‘ssh’]” for that host.
If the rule matches a specific folder, the file should be found in the related folder.

Can you post this section?

1 Like

Eureka! It was.
There was an entry in rules.mk:

active_checks.setdefault(‘ssh’, [])

active_checks[‘ssh’] = [
{‘condition’: {‘host_folder’: ‘/%s/’ % FOLDER_PATH, ‘host_name’: [‘hostA’, ‘hostB’, ‘hostC’, ‘hostD’]}, ‘value’: ({‘port’: 22},), ‘options’: {‘description’: u’ssh cp irmc’}},
] + active_checks[‘ssh’]

I removed this one and afterwards I was able to start “cmk -U” without errors.
To be honest I don’t understand what this rule does (it was deposited by one of our network admins). But everything seems to work without it.

You are my hero! Thanks a thousand!

Do you know if this rule was manually created or via wato?

Definitly over wato. The network-admins don’ t have access to the bash of our monitoring system.

The strange part is that the options inside the rule are a dictionary and not a tuple.
This should work normally.

I don’t know how this rule was created. The description should be come from value, that’s a tuple here. If you create a new rule you would see the difference