Hallo,
wenn wie folgt ein Label zu einem Host hinzugefügt wird und diese Regel eine Precondition verwendet, die wiederum die Hosts mit Labels auswählt, kann man die Änderungen nicht aktivieren.
Version: 1.6.0p9
Stopping mkeventd...killing 17605...OK
Stopping 6 remaining site processes...OK
OMD[my_site_test]:~$ cmk -R
Generating configuration for core (type cmc)...Error creating configuration: maximum recursion depth exceeded while calling a Python object
Original Traceback (most recent call last):
File "/omd/sites/my_site_test/lib/python/cmk_base/cee/core_cmc.py", line 613, in wrapper
return func(*args, **kwargs)
File "/omd/sites/my_site_test/lib/python/cmk_base/cee/core_cmc.py", line 625, in get_host_configurations
return [host_class(hostname).get_serialized_data() for hostname in hostlist]
File "/omd/sites/my_site_test/lib/python/cmk_base/cee/core_cmc.py", line 904, in __init__
hostname, config.get_config_cache()),
File "/omd/sites/my_site_test/lib/python/cmk_base/core_config.py", line 379, in get_host_attributes
host_config = config_cache.get_host_config(hostname)
File "/omd/sites/my_site_test/lib/python/cmk_base/config.py", line 2888, in get_host_config
host_config = self._host_configs[hostname] = config_class(self, hostname)
File "/omd/sites/my_site_test/lib/python/cmk_base/config.py", line 2090, in __init__
hostname)
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 60, in labels_of_host
labels.update(self._ruleset_labels_of_host(ruleset_matcher, hostname))
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 79, in _ruleset_labels_of_host
return ruleset_matcher.get_host_ruleset_merged_dict(match_object, self._host_label_rules)
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 114, in get_host_ruleset_merged_dict
for rule_dict in self.get_host_ruleset_values(match_object, ruleset, is_binary=False):
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 131, in get_host_ruleset_values
is_binary=is_binary)
Gesamten recursion Fehler anzeigen
OMD[my_site_test]:~$ cmk -O
Other restart currently in progress. Aborting.
OMD[my_site_test]:~$ cmk -R
Other restart currently in progress. Aborting.
OMD[my_site_test]:~$ omd stop
Removing Crontab...OK
Stopping dcd...killing 18001....OK
Stopping apache...killing 17761.......OK
Stopping cmc...killing 17654......OK
Stopping rrdcached...waiting for termination...OK
Stopping mknotifyd...killing 17629...
Stopping liveproxyd...killing 13214....OK
Stopping mkeventd...killing 17605...OK
Stopping 6 remaining site processes...OK
OMD[my_site_test]:~$ cmk -R
Generating configuration for core (type cmc)...Error creating configuration: maximum recursion depth exceeded while calling a Python object
Original Traceback (most recent call last):
File "/omd/sites/my_site_test/lib/python/cmk_base/cee/core_cmc.py", line 613, in wrapper
return func(*args, **kwargs)
File "/omd/sites/my_site_test/lib/python/cmk_base/cee/core_cmc.py", line 625, in get_host_configurations
return [host_class(hostname).get_serialized_data() for hostname in hostlist]
File "/omd/sites/my_site_test/lib/python/cmk_base/cee/core_cmc.py", line 904, in __init__
hostname, config.get_config_cache()),
File "/omd/sites/my_site_test/lib/python/cmk_base/core_config.py", line 379, in get_host_attributes
host_config = config_cache.get_host_config(hostname)
File "/omd/sites/my_site_test/lib/python/cmk_base/config.py", line 2888, in get_host_config
host_config = self._host_configs[hostname] = config_class(self, hostname)
File "/omd/sites/my_site_test/lib/python/cmk_base/config.py", line 2090, in __init__
hostname)
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 60, in labels_of_host
labels.update(self._ruleset_labels_of_host(ruleset_matcher, hostname))
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 79, in _ruleset_labels_of_host
return ruleset_matcher.get_host_ruleset_merged_dict(match_object, self._host_label_rules)
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 114, in get_host_ruleset_merged_dict
for rule_dict in self.get_host_ruleset_values(match_object, ruleset, is_binary=False):
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 131, in get_host_ruleset_values
is_binary=is_binary)
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 344, in get_host_ruleset
ruleset = self._convert_host_ruleset(ruleset, with_foreign_hosts, is_binary)
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 359, in _convert_host_ruleset
for hostname in self._all_matching_hosts(rule["condition"], with_foreign_hosts):
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 478, in _all_matching_hosts
host_labels = self._labels.labels_of_host(self._ruleset_matcher, hostname)
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 60, in labels_of_host
labels.update(self._ruleset_labels_of_host(ruleset_matcher, hostname))
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 79, in _ruleset_labels_of_host
return ruleset_matcher.get_host_ruleset_merged_dict(match_object, self._host_label_rules)
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 114, in get_host_ruleset_merged_dict
for rule_dict in self.get_host_ruleset_values(match_object, ruleset, is_binary=False):
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 131, in get_host_ruleset_values
is_binary=is_binary)
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 344, in get_host_ruleset
ruleset = self._convert_host_ruleset(ruleset, with_foreign_hosts, is_binary)
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 359, in _convert_host_ruleset
for hostname in self._all_matching_hosts(rule["condition"], with_foreign_hosts):
File "/omd/sites/my_site_test/lib/python/cmk/utils/rulesets/ruleset_matcher.py", line 478, in _all_matching_hosts
host_labels = self._labels.labels_of_host(self._ruleset_matcher, hostname)
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 59, in labels_of_host
labels.update(self._discovered_labels_of_host(hostname))
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 85, in _discovered_labels_of_host
for label_id, label in DiscoveredHostLabelsStore(hostname).load().iteritems()
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 143, in load
self.file_path), default={}).iteritems() if isinstance(v, dict)
File "/omd/sites/my_site_test/lib/python/cmk/utils/labels.py", line 166, in file_path
return (cmk.utils.paths.discovered_host_labels_dir / self._hostname).with_suffix(".mk")
File "/omd/sites/my_site_test/lib/python/pathlib2/__init__.py", line 1102, in __truediv__
return self._make_child((key,))
File "/omd/sites/my_site_test/lib/python/pathlib2/__init__.py", line 878, in _make_child
drv, root, parts = self._parse_args(args)
File "/omd/sites/my_site_test/lib/python/pathlib2/__init__.py", line 841, in _parse_args
return cls._flavour.parse_parts(parts)
File "/omd/sites/my_site_test/lib/python/pathlib2/__init__.py", line 201, in parse_parts
parts = _py2_fsencode(parts)
File "/omd/sites/my_site_test/lib/python/pathlib2/__init__.py", line 62, in _py2_fsencode
else part for part in parts]
RuntimeError: maximum recursion depth exceeded while calling a Python object
OMD[my_site_test]:~$
Habe den Fehler ein wenig zusammengekürzt, da das Forum nicht so viele Zeichen erlaubt
Wäre relativ dringend, bitte danke