ansible-role-zuul/tests/collect-logs.yaml

46 lines
1.3 KiB
YAML

- hosts: all
tasks:
- name: Setup logs directory fact
set_fact:
__log_dir: "{{ zuul_output_dir }}/logs/logs/var/log/journal"
- name: Ensure journald logs directory exists
file:
mode: 0755
path: "{{ __log_dir }}"
state: directory
- name: Collect journald logs
shell: "sudo journalctl -u {{ item }}.service | tee {{ __log_dir }}/{{ item }}.service.log"
args:
creates: "{{ __log_dir }}/{{ item }}.service.log"
with_items:
- zuul-executor
- zuul-fingergw
- zuul-merger
- zuul-scheduler
- zuul-web
- name: Prepare zuul log files
become: yes
synchronize:
dest: "{{ zuul_output_dir }}/logs/logs"
rsync_opts:
- "--relative"
- "--chown={{ ansible_user_id }}:{{ ansible_user_id }}"
src: "{{ item }}"
verify_host: true
delegate_to: "{{ inventory_hostname }}"
with_items:
- /etc/zuul
- /var/log/zuul
# TODO: Migrate to fetch-zuul-logs when
# https://review.opendev.org/#/c/583346/ is merged.
- name: Collect log output
synchronize:
dest: "{{ zuul.executor.log_root }}/"
mode: pull
src: "{{ zuul_output_dir }}/logs/"
verify_host: true