zuul-jobs/roles/fetch-output/tasks/main.yaml
Albin Vass 7e1d6a8780 Do not keep owner when pulling zuul-output
Log synchronization fails when trying to preserve uid and guid
for a user and or group that doesn't exist on the executor.

This makes it so the owner and group is not preserved from the remote.

Simplify operations, use a single task with a loop instead of three
separate tasks.

Change-Id: I8ae937ba07e240ee4394374405aa841ad882022a
2020-05-01 16:50:54 +02:00

40 lines
1.0 KiB
YAML

- name: Set log path for multiple nodes
set_fact:
log_path: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}"
when: groups['all'] | length > 1
- name: Set log path for single node
set_fact:
log_path: "{{ zuul.executor.log_root }}"
when: log_path is not defined
- name: Ensure local output dirs
delegate_to: localhost
file:
path: "{{ zj_output_dir }}"
state: directory
with_items:
- "{{ log_path }}"
- "{{ zuul.executor.work_root }}/artifacts"
- "{{ zuul.executor.work_root }}/docs"
loop_control:
loop_var: zj_output_dir
- name: Collect logs, artifacts and docs
synchronize:
dest: "{{ zj_output.dest }}/"
mode: pull
src: "{{ zuul_output_dir }}/{{ zj_output.src }}/"
verify_host: true
owner: false
group: false
loop:
- dest: "{{ log_path }}"
src: "logs"
- dest: "{{ zuul.executor.work_root }}/artifacts"
src: "artifacts"
- dest: "{{ zuul.executor.work_root }}/docs"
src: "docs"
loop_control:
loop_var: zj_output