Module: check_mk
Branch: master
Commit: e3b667029e2700cf3b5c8b5ee4ef88aa72efa612
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=e3b667029e2700…
Author: Moritz Kiemer <mo(a)mathias-kettner.de>
Date: Fri Feb 15 10:02:23 2019 +0100
mk_docker.py: avoid some error messages in dockerd log
Previously we simply tried to execute the agent in the container,
which resulted in errror messages if it was not found on the PATH.
We now first open a shell, which hope fully will be present and
thus avoid the dockerd error log.
CMK-1662
Change-Id: I3487097104351fb3e548c0a7068c2d3e977d8b71
---
agents/plugins/mk_docker.py | 6 ++++--
tests/unit/plugins/test_mk_docker.py | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/agents/plugins/mk_docker.py b/agents/plugins/mk_docker.py
index c8ccdc3..04a3fc2 100755
--- a/agents/plugins/mk_docker.py
+++ b/agents/plugins/mk_docker.py
@@ -227,7 +227,9 @@ class AgentDispatcher(object):
'''run check_mk agent in container or container
context'''
LOGGER.debug("trying to run containers check_mk_agent")
- result = container.exec_run('check_mk_agent', environment=self.env,
socket=True)
+ result = container.exec_run(['sh', '-c',
'check_mk_agent'],
+ environment=self.env,
+ socket=True)
output = self.get_stdout(result)
if output:
LOGGER.info("successfully ran containers check_mk_agent")
@@ -238,7 +240,7 @@ class AgentDispatcher(object):
if not self.agent_code:
LOGGER.info("failed to load agent code: %s", self.agent_code_exc)
return None
- result = container.exec_run('bash', socket=True)
+ result = container.exec_run(['sh', '-c', 'bash -c echo'],
socket=True)
if not self.get_stdout(result):
LOGGER.info("failed to run bash in container: %s",
container.short_id)
return None
diff --git a/tests/unit/plugins/test_mk_docker.py b/tests/unit/plugins/test_mk_docker.py
index b62d429..590ec85 100644
--- a/tests/unit/plugins/test_mk_docker.py
+++ b/tests/unit/plugins/test_mk_docker.py
@@ -11,7 +11,7 @@ sys.path.insert(0, os.path.join(cmk_path(), 'agents',
'plugins'))
import mk_docker # pylint: disable=import-error,wrong-import-position
PLUGIN_CHECKSUMS = {
- '0.1': '2e03d077fbefb3b10a51600aa23d2154',
+ '0.1': '609daeed48fda1198701458e9bd4f205',
}