- 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