From d89f67aadf1b6c9f43011da31c4abc2b45429a6b Mon Sep 17 00:00:00 2001 From: Luigi Toscano Date: Fri, 22 Mar 2019 16:05:43 +0100 Subject: [PATCH] stage-output: fix the archiving of all files The archival task currently relies on the content of all_sources, but some files are renamed afterwards if their extensions match one of the special extension of the list. This means that few files from all_sources are not found and then not compressed. Change then the logic: simply discover all files inside logs and compress all of them. Change-Id: I7d34d7d90849736b7b842c0bdd67492816f98ebc --- roles/stage-output/tasks/main.yaml | 33 ++++++++++++++++++------------ 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/roles/stage-output/tasks/main.yaml b/roles/stage-output/tasks/main.yaml index 76d6f14aa..cae190d0d 100644 --- a/roles/stage-output/tasks/main.yaml +++ b/roles/stage-output/tasks/main.yaml @@ -88,18 +88,25 @@ tags: - skip_ansible_lint -# NOTE(andreaf) The ansible module does not support recursive archive, so -# using gzip is the only option here. The good bit is that gzip itself is -# almost idempotent, as it will not compress again files with .gz extension. -# gzip will however return 1 if any compressed file is encountered, so we -# must ignore that (there's no specific error code). -- name: Archive everything from docs sources - shell: gzip --recursive --best {{ item.dest }} || true - args: - chdir: "{{ stage_dir }}" - with_items: "{{ all_sources }}" +- block: + - name: Discover log files for compression + find: + paths: "{{ stage_dir }}/logs" + recurse: true + file_type: 'file' + register: log_files_to_compress + + # NOTE(andreaf) The ansible module does not support recursive archive, so + # using gzip is the only option here. The good bit is that gzip itself is + # almost idempotent, as it will not compress again files with .gz extension. + # gzip will however return 1 if any compressed file is encountered, so we + # must ignore that (there's no specific error code). + - name: Archive everything from logs + shell: gzip --recursive --best {{ item.path }} || true + args: + chdir: "{{ stage_dir }}/logs" + with_items: "{{ log_files_to_compress.files }}" + tags: + - skip_ansible_lint when: - stage_compress_logs - - item.type == 'logs' - tags: - - skip_ansible_lint