From 7a34707fe4129d9a08f5351291f57d2cfb07b828 Mon Sep 17 00:00:00 2001 From: Jesse Pretorius Date: Fri, 16 Sep 2016 09:12:13 +0100 Subject: [PATCH] Compress test execution logs The volume of logs we collect in CI jobs are extensive. This patch ensures that the logs collected are compressed to reduce the space taken in CI systems. PYTHONUNBUFFERED is also set to ensure that the console log from the CI jobs is recorded in the exact order of execution. Change-Id: I4fe1743d5323ac9cdb70047ae17c4c438d6e4997 Related-Bug: #1620849 --- bindep.txt | 3 +++ tox.ini | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bindep.txt b/bindep.txt index 931e963..fe58925 100755 --- a/bindep.txt +++ b/bindep.txt @@ -36,3 +36,6 @@ python-ndg-httpsclient [platform:ubuntu !platform:ubuntu-trusty] python2-pyasn1 [platform:rpm] pyOpenSSL [platform:rpm] python-ndg_httpsclient [platform:rpm] + +# Required for compressing collected log files in CI +gzip diff --git a/tox.ini b/tox.ini index b20e2e2..3adceda 100755 --- a/tox.ini +++ b/tox.ini @@ -28,6 +28,7 @@ whitelist_externals = wget setenv = VIRTUAL_ENV={envdir} + PYTHONUNBUFFERED=1 [testenv:docs] @@ -147,7 +148,7 @@ commands = [testenv:functional] # Ignore_errors is set to true so that the logs are collected at the -# end of the run. This will not produce a failse positive. Any +# end of the run. This will not produce a false positive. Any # exception will be mark the run as failed and exit 1 after all of # the commands have been iterated through. ignore_errors = True @@ -167,7 +168,10 @@ commands = -e "install_test_packages=True" \ {toxinidir}/tests/test.yml -vvvv bash -c 'mkdir -p {toxinidir}/logs' - bash -c 'rsync -av --ignore-errors /var/log/ /openstack/log/ {toxinidir}/logs/ || true' + bash -c 'rsync --archive --verbose --ignore-errors /var/log/ /openstack/log/ {toxinidir}/logs/ || true' + bash -c 'find "{toxinidir}/logs/" -type f | sed "p;s|$|.txt|" | xargs -n2 mv' + bash -c 'command gzip --best --recursive "{toxinidir}/logs/"' + [testenv:linters] deps =