- 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: - 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.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