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

38 lines
1.2 KiB
YAML

- hosts: all
tasks:
- name: Ensure journald logs directory exists
file:
path: "{{ zuul_output_dir }}/logs/logs/var/log/journal"
state: directory
- name: Collect journald logs
shell: "sudo journalctl -u {{ item }}.service | tee {{ zuul_output_dir }}/logs/logs/var/log/journal/{{ item }}.service.log"
args:
creates: "{{ zuul_output_dir }}/logs/logs/var/log/journal/{{ item }}.service.log"
with_items:
- nodepool-builder
- nodepool-launcher
- name: Prepare nodepool 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/nodepool
- /var/log/nodepool
# TODO: Migrate to fetch-zuul-logs when
# https://review.openstack.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