
filebeat is unable to read xml files with results when they do not finish with an empty line Change-Id: I326192a784b652c2129d63d1b5fbf0bce8cd3a16
58 lines
1.3 KiB
YAML
58 lines
1.3 KiB
YAML
---
|
|
|
|
- name: "ensure local directory '{{ collect_dir }}' exists"
|
|
file:
|
|
path: '{{ collect_dir }}'
|
|
state: directory
|
|
delegate_to: localhost
|
|
|
|
|
|
- name: "look for report files in {{ report_dir }}"
|
|
find:
|
|
paths:
|
|
- "{{ report_dir }}"
|
|
patterns:
|
|
- "{{ report_name }}*.log"
|
|
- "{{ report_name }}*.subunit"
|
|
- "{{ report_name }}*.html"
|
|
- "{{ report_name }}*.xml"
|
|
register: find_report_files
|
|
|
|
|
|
- name: "add found report files"
|
|
set_fact:
|
|
report_files: '{{ (( find_report_files.files | json_query("[*].path")) + report_files) | unique }}'
|
|
|
|
|
|
- name: "check if report files exists"
|
|
stat:
|
|
path: "{{ item }}"
|
|
get_checksum: no
|
|
register: stat_report_files
|
|
loop: '{{ report_files }}'
|
|
|
|
|
|
- name: "filter out non existing report files"
|
|
set_fact:
|
|
report_files: >
|
|
{{ stat_report_files.results |
|
|
json_query("[?stat.exists].stat.path") }}
|
|
|
|
|
|
- name: "workaround for Filebeat - add newline to the end of xml report"
|
|
lineinfile:
|
|
dest: '{{ item }}'
|
|
line: ''
|
|
loop: '{{ report_files }}'
|
|
when: item.endswith('xml')
|
|
|
|
- name: "collect report files to local directory '{{ collect_dir }}'"
|
|
synchronize:
|
|
dest: '{{ collect_dir }}/{{ item | basename }}'
|
|
mode: pull
|
|
src: '{{ item }}'
|
|
use_ssh_args: yes
|
|
recursive: yes
|
|
ignore_errors: yes
|
|
loop: '{{ report_files }}'
|