Module: check_mk
Branch: master
Commit: ebd1b67d562608a9c2b2300ff7d0328592bf635d
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ebd1b67d562608…
Author: Moritz Kiemer <mo(a)mathias-kettner.de>
Date: Tue Feb 12 16:32:44 2019 +0100
mk_jolokia.py: Add a line of verbose output & avoid KeyError
I needed it to see that CMK-1459 is already fixed
Change-Id: I84d4a8e04650103550ff8c8940d1d00472dd4ef1
---
agents/plugins/mk_jolokia.py | 10 +++++++---
tests/unit/plugins/test_mk_jolokia.py | 10 ++++++++++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/agents/plugins/mk_jolokia.py b/agents/plugins/mk_jolokia.py
index 0153da1..74ab972 100755
--- a/agents/plugins/mk_jolokia.py
+++ b/agents/plugins/mk_jolokia.py
@@ -494,9 +494,10 @@ def generate_values(inst, var_list):
yield item, title, value
-def yield_configured_instances():
+def yield_configured_instances(custom_config=None):
- custom_config = copy.deepcopy(DEFAULT_CONFIG)
+ if custom_config is None:
+ custom_config = copy.deepcopy(DEFAULT_CONFIG)
conffile = os.path.join(os.getenv("MK_CONFDIR", "/etc/check_mk"),
"jolokia.cfg")
if os.path.exists(conffile):
@@ -507,7 +508,10 @@ def yield_configured_instances():
individual_configs = custom_config.pop("instances", [{}])
for cfg in individual_configs:
keys = set(cfg.keys() + custom_config.keys())
- yield {k: cfg.get(k, custom_config[k]) for k in keys}
+ conf_dict = {k: cfg.get(k, custom_config.get(k)) for k in keys}
+ if VERBOSE:
+ sys.stderr.write("DEBUG: configuration: %r\n" % conf_dict)
+ yield conf_dict
def main(configs_iterable=None):
diff --git a/tests/unit/plugins/test_mk_jolokia.py
b/tests/unit/plugins/test_mk_jolokia.py
index ebb8bf2..3170f98 100644
--- a/tests/unit/plugins/test_mk_jolokia.py
+++ b/tests/unit/plugins/test_mk_jolokia.py
@@ -86,3 +86,13 @@ def test_config_legacy_cert_path_to_verify():
def test_jolokia_instance_base_url(config, base_url):
joloi = mk_jolokia.JolokiaInstance(config)
assert joloi._get_base_url() == base_url
+
+
+def test_jolokia_yield_configured_instances():
+ yci = mk_jolokia.yield_configured_instances({
+ "instances": [{"server": "s1"},
{"server": "s2"}],
+ "port": 1234,
+ })
+
+ assert next(yci) == {"server": "s1", "port": 1234}
+ assert next(yci) == {"server": "s2", "port": 1234}