Upgrade 2.0.0p24.cme to 2.1.0p1.cme

I tried to upgrade 2.0.0p24.cme to 2.1.0p1.cme and got this error:

|  7/25 Rewriting rulesets...
-| Replacing ruleset non_inline_snmp_hosts with snmp_backend_hosts
-| ERROR: Failed to transform rule: (Ruleset: special_agents:prometheus, Folder: riag/k2, Rule: 0, Value: {'connection': 'host_name', 'protocol': 'http', 'exporter': [('kube_state', {'cluster_name': 'k2.ringler.ch', 'prepend_namespaces': 'use_namespace', 'entities': ['cluster', 'nodes', 'services', 'pods', 'daemon_sets']}), ('cadvisor', {'entity_level': ('both', {'container_id': 'short', 'prepend_namespaces': 'use_namespace'}), 'entities': ['diskio', 'cpu', 'df', 'if', 'memory']})], 'promql_checks': []}: 
-| ERROR: Failed to transform rule: (Ruleset: special_agents:prometheus, Folder: everyware, Rule: 0, Value: {'connection': 'host_name', 'exporter': [('cadvisor', {'entity_level': ('pod', {}), 'entities': ['diskio', 'cpu', 'df', 'if', 'memory']})], 'promql_checks': []}: 
-| ERROR: Failed to transform rule: (Ruleset: special_agents:prometheus, Folder: everyware, Rule: 1, Value: {'connection': 'host_name', 'exporter': [('node_exporter', {'entities': ['df', 'diskstat', 'mem', 'kernel']})], 'promql_checks': [{'service_description': 'Processes', 'metric_components': [{'metric_label': 'Running', 'promql_query': 'node_procs_running'}, {'metric_label': 'Blocked', 'promql_query': 'node_procs_blocked'}]}]}: 
-|  + "Rewriting rulesets" failed
-| Traceback (most recent call last):
-|   File "/omd/sites/master/lib/python3/cmk/update_config.py", line 238, in run
-|     step_func()
-|   File "/omd/sites/master/lib/python3/cmk/update_config.py", line 568, in _rewrite_wato_rulesets
-|     self._validate_rule_values(all_rulesets)
-|   File "/omd/sites/master/lib/python3/cmk/update_config.py", line 834, in _validate_rule_values
-|     ruleset.rulespec.valuespec.validate_value(
-|   File "/omd/sites/master/lib/python3/cmk/gui/valuespec.py", line 263, in validate_value
-|     self._validate_value(value, varprefix)
-|   File "/omd/sites/master/lib/python3/cmk/gui/valuespec.py", line 5748, in _validate_value
-|     self._valuespec.validate_value(self.forth(value), varprefix)
-|   File "/omd/sites/master/lib/python3/cmk/gui/valuespec.py", line 263, in validate_value
-|     self._validate_value(value, varprefix)
-|   File "/omd/sites/master/lib/python3/cmk/gui/valuespec.py", line 5475, in _validate_value
-|     vs.validate_value(value[param], f"{varprefix}_p_{param}")
-|   File "/omd/sites/master/lib/python3/cmk/gui/valuespec.py", line 263, in validate_value
-|     self._validate_value(value, varprefix)
-|   File "/omd/sites/master/lib/python3/cmk/gui/valuespec.py", line 3324, in _validate_value
-|     assert isinstance(value, tuple)
-| AssertionError
-|  8/25 Rewriting autochecks...
...
-|  25/25 Disabling unsafe EC rules...
-| Done
ERROR (exit code: 1)
Executing update-pre-hooks script "01_mkp-disable-outdated"...OK
Updating core configuration...
Generating configuration for core (type cmc)...
Starting full compilation for all hosts Creating global helper config...OK
 Creating cmc protobuf configuration...OK
Finished update.

The site comes up and claims to run the new version, but some hosts with proxmox installed are missing after the upgrade and obviously all the discovered VM piggyback data as well. Is this caused by the assertionerror or seperate problem?

I can try to remove the prometheus setup to avoid the error message (will be renewed anyway to make use of the they kubernetes monitoring). Anything else I can do to fix the missing proxmox hosts besides waiting for a newer release?

Hi Peter

I am not familiar with the Proxmox integration.

You mention “[…] some hosts with proxmox installed are missing […]”. Do you mean, the entire host object is missing in checkmk? Or is only the rule configuration for Proxmox missing?

If the latter is the case, it could very well be caused by the above errors.
You could try removing the rules and running cmk-update-config -v again on command line.

Kind regards

Yes, all the proxmox hosts are missing, which are normal hosts with checkmk agent running on them. For some reason, that part of the configuration was lost during the upgrade. I will try cmk-update-config -v when I get around testing 2.1 again. I will than reserve more time for trouble shooting.

Proxmox, btw, is a virtualization platform and the integration discovers VMs and a few properties like backup status. I need it mostly, because I want to monitor backup.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.