- name: Set tox log path for multiple nodes set_fact: log_path: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}/tox" when: groups['all'] | length > 1 - name: Set tox log path for single node set_fact: log_path: "{{ zuul.executor.log_root }}/tox" when: log_path is not defined - name: Ensure local tox dir file: path: "{{ log_path }}" state: directory delegate_to: localhost - name: Copy tox logs copy: dest: "{{ zuul_output_dir }}/logs/tox/" src: "{{ zuul_work_dir }}/openstack_dashboard/test/integration_tests/test_reports" remote_src: true loop: "{{ envlist }}" loop_control: loop_var: zj_testenv # some tox runs may not create a virtualenv and thus have # no ./tox/env directory failed_when: false when: zuul_use_fetch_output - name: Collect tox logs synchronize: dest: "{{ log_path }}" mode: pull src: "{{ zuul_work_dir }}/openstack_dashboard/test/integration_tests/test_reports" verify_host: true owner: no group: no loop: "{{ envlist }}" loop_control: loop_var: zj_testenv # some tox runs may not create a virtualenv and thus have # no ./tox/env directory failed_when: false when: not zuul_use_fetch_output