diff --git a/.zuul.yaml b/.zuul.yaml index 8d7e06ecd3..febcf8e462 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -344,6 +344,7 @@ copy_output: '/var/log/syslog': logs_txt '/var/log/messages': logs_txt + '/var/log/docker': logs host-vars: bridge.openstack.org: host_copy_output: diff --git a/playbooks/zuul/run-base-post.yaml b/playbooks/zuul/run-base-post.yaml index 4d44024c42..fec0ab1f4d 100644 --- a/playbooks/zuul/run-base-post.yaml +++ b/playbooks/zuul/run-base-post.yaml @@ -16,6 +16,32 @@ - 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