You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ph...@apache.org on 2019/08/27 12:27:37 UTC
[nifi-minifi-cpp] branch master updated: MINIFICPP-1017 - Improve
logging of docker tests
This is an automated email from the ASF dual-hosted git repository.
phrocker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
The following commit(s) were added to refs/heads/master by this push:
new c607f35 MINIFICPP-1017 - Improve logging of docker tests
new 5c6fb1c Merge pull request #634 from arpadboda/MINIFICPP-1017
c607f35 is described below
commit c607f35ca23c6dbad03861a0bcc31184be440a0c
Author: Arpad Boda <ab...@apache.org>
AuthorDate: Mon Aug 26 17:13:29 2019 +0200
MINIFICPP-1017 - Improve logging of docker tests
---
docker/DockerBuild.sh | 3 +++
docker/test/integration/minifi/test/__init__.py | 29 +++++++++++++------------
2 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/docker/DockerBuild.sh b/docker/DockerBuild.sh
index 20c5070..6217a82 100755
--- a/docker/DockerBuild.sh
+++ b/docker/DockerBuild.sh
@@ -34,6 +34,9 @@ echo "MiNiFi Package: $MINIFI_SOURCE_CODE"
mkdir -p $CMAKE_SOURCE_DIR/docker/minificppsource
rsync -avr \
--exclude '/*build*' \
+ --exclude '/*_repository*' \
+ --exclude '/logs' \
+ --exclude '/cmake' \
--exclude '/docker' \
--exclude '.git' \
--exclude '/extensions/expression-language/Parser.cpp' \
diff --git a/docker/test/integration/minifi/test/__init__.py b/docker/test/integration/minifi/test/__init__.py
index d25e538..c93f168 100644
--- a/docker/test/integration/minifi/test/__init__.py
+++ b/docker/test/integration/minifi/test/__init__.py
@@ -118,27 +118,28 @@ class DockerTestCluster(SingleNodeDockerCluster):
for container in self.containers:
container = self.client.containers.get(container.id)
- logging.info('Container logs for container \'%s\':\n%s', container.name, container.logs())
+ logging.info('Container logs for container \'%s\':\n%s', container.name, container.logs().decode("utf-8"))
if b'Segmentation fault' in container.logs():
+ logging.warn('Container segfaulted: %s', container.name)
self.segfault=True
if container.status == 'running':
- minifi_app_logs = container.exec_run('/bin/sh -c \'test -f ' + self.minifi_root + '/logs/minifi-app.log '
- '&& cat ' +
- self.minifi_root + '/logs/minifi-app.log\'')
- if len(minifi_app_logs) > 0:
- logging.info('MiNiFi app logs for container \'%s\':\n%s', container.name, minifi_app_logs)
-
- nifi_app_logs = container.exec_run('/bin/sh -c \'test -f ' + self.nifi_root + '/logs/nifi-app.log '
- '&& cat ' +
- self.nifi_root + '/logs/nifi-app.log\'')
- if len(nifi_app_logs) > 0:
- logging.info('NiFi app logs for container \'%s\':\n%s', container.name, nifi_app_logs)
+ apps = [("MiNiFi", self.minifi_root + '/logs/minifi-app.log'), ("NiFi", self.nifi_root + '/logs/nifi-app.log')]
+ for app in apps:
+ app_log_status, app_log = container.exec_run('/bin/sh -c \'cat ' + app[1] + '\'')
+ if app_log_status == 0:
+ logging.info('%s app logs for container \'%s\':\n', app[0], container.name)
+ for line in app_log.decode("utf-8").splitlines():
+ logging.info(line)
+ break
+ else:
+ logging.warning("The container is running, but none of %s logs were found", " or ".join([x[0] for x in apps]))
+
else:
logging.info(container.status)
logging.info('Could not cat app logs for container \'%s\' because it is not running',
container.name)
- stats = container.stats(decode=True, stream=True)
- logging.info('Container stats:\n%s', repr(stats))
+ stats = container.stats(stream=False)
+ logging.info('Container stats:\n%s', stats)
def check_output(self, timeout=5):
"""