8062f4c1ec
So that we automatically get container logs for future jobs which use containers. Change-Id: I329c67eefb8c6a2ff9a8ce8ef69cc844cef6012a
82 lines
2.2 KiB
YAML
82 lines
2.2 KiB
YAML
- hosts: localhost
|
|
tasks:
|
|
- name: Make log directories for testing hosts
|
|
file:
|
|
path: "{{ zuul.executor.log_root }}/hosts/{{ item }}/logs"
|
|
state: directory
|
|
recurse: true
|
|
loop: "{{ query('inventory_hostnames', 'all') }}"
|
|
|
|
- name: Ensure bridge ARA log directories exist
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
with_items:
|
|
- "{{ zuul.executor.log_root }}/hosts/bridge.openstack.org/ara-report"
|
|
|
|
- hosts: all
|
|
tasks:
|
|
- name: List containers
|
|
command: "docker ps -a --format '{{ '{{ .Names }}' }}'"
|
|
register: docker_containers
|
|
ignore_errors: true
|
|
become: true
|
|
|
|
- name: Create container log dir
|
|
file:
|
|
path: "/var/log/docker"
|
|
state: directory
|
|
become: true
|
|
|
|
- name: Save container logs
|
|
loop: "{{ docker_containers.stdout_lines | default([]) }}"
|
|
shell: "docker logs {{ item }} &> /var/log/docker/{{item}}.txt"
|
|
args:
|
|
executable: /bin/bash
|
|
become: true
|
|
|
|
- name: Open container logs permissions
|
|
file:
|
|
dest: /var/log/docker
|
|
mode: u=rwX,g=rX,o=rX
|
|
recurse: yes
|
|
become: yes
|
|
|
|
- include_role:
|
|
name: stage-output
|
|
|
|
- hosts: bridge.openstack.org
|
|
tasks:
|
|
- name: Set log directory
|
|
set_fact:
|
|
log_dir: "{{ zuul.executor.log_root }}/hosts/{{ inventory_hostname }}"
|
|
|
|
# Because during the test we run ansible as root, we need
|
|
# to allow ourselves permissions to copy the results
|
|
- name: Open ARA results permissions
|
|
file:
|
|
dest: /var/cache/ansible
|
|
mode: u=rwX,g=rX,o=rX
|
|
recurse: yes
|
|
become: yes
|
|
|
|
# Note called ansible.sqlite so the middleware on
|
|
# logs.o.o picks it up for display
|
|
- name: Collect testing ARA results
|
|
synchronize:
|
|
dest: "{{ log_dir }}/ara-report/ansible.sqlite"
|
|
mode: pull
|
|
src: "/var/cache/ansible/ara.sqlite"
|
|
verify_host: true
|
|
ignore_errors: true
|
|
|
|
- name: Collect ansible configuration
|
|
synchronize:
|
|
dest: "{{ log_dir }}/etc"
|
|
mode: pull
|
|
src: "/etc/ansible"
|
|
verify_host: true
|
|
rsync_opts:
|
|
- "--exclude=__pycache__"
|
|
ignore_errors: true
|