Create fetch-tox-output role

We can move the content from tox/post.yaml into an ansible role. This
allows other projects to use it.

Change-Id: Ic7fc31a372de29a3a97ef84539faf3b0a1d6e181
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
Paul Belanger 2017-08-03 16:37:00 -04:00
parent e59abec7a3
commit 4420bbd2c9
4 changed files with 37 additions and 33 deletions

View File

@ -1,34 +1,3 @@
- hosts: all
tasks:
- name: Find tox directories to synchrionize
find:
file_type: directory
paths: "src/{{ zuul.project.canonical_name }}/.tox"
# NOTE(pabelanger): The .tox/log folder is empty, ignore it.
patterns: ^(?!log).*$
use_regex: yes
register: result
- 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: Collect tox logs
synchronize:
dest: "{{ log_path }}"
mode: pull
src: "{{ item.path }}/log/"
verify_host: true
with_items: "{{ result.files }}"
roles:
- fetch-tox-output

View File

@ -0,0 +1 @@
Collect output from a tox build

View File

@ -0,0 +1,2 @@
---
zuul_work_dir: "src/{{ zuul.project.canonical_name }}"

View File

@ -0,0 +1,32 @@
- name: Find tox directories to synchrionize
find:
file_type: directory
paths: "{{ zuul_work_dir }}/.tox"
# NOTE(pabelanger): The .tox/log folder is empty, ignore it.
patterns: ^(?!log).*$
use_regex: yes
register: result
- 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: Collect tox logs
synchronize:
dest: "{{ log_path }}"
mode: pull
src: "{{ item.path }}/log/"
verify_host: true
with_items: "{{ result.files }}"