90d263941a
Change-Id: I8c3d224682d7d6780d6ad7823e390c47114e702b
85 lines
2.5 KiB
YAML
85 lines
2.5 KiB
YAML
- name: Set zuul-log-path fact
|
|
include_role:
|
|
name: set-zuul-log-path-fact
|
|
|
|
# Always upload (true), never upload (false) or only on failure ('failure')
|
|
- when: zuul_site_upload_logs | default(true) | bool or
|
|
(zuul_site_upload_logs == 'failure' and not zuul_success | bool)
|
|
block:
|
|
|
|
- name: Create log directories
|
|
file:
|
|
path: "{{ zuul_logserver_root }}/{{ zuul_log_path }}"
|
|
state: directory
|
|
recurse: yes
|
|
mode: 0775
|
|
|
|
# Use chmod instead of file because ansible 2.5 file with recurse and
|
|
# follow can't really handle symlinks to .
|
|
- name: Ensure logs are readable before uploading
|
|
delegate_to: localhost
|
|
command: "chmod -R u=rwX,g=rX,o=rX {{ zuul.executor.log_root }}/"
|
|
# ANSIBLE0007 chmod used in place of argument mode to file
|
|
tags:
|
|
- skip_ansible_lint
|
|
|
|
- name: Upload logs to log server
|
|
synchronize:
|
|
src: "{{ zuul.executor.log_root }}/"
|
|
dest: "{{ zuul_logserver_root }}/{{ zuul_log_path }}/"
|
|
owner: no
|
|
group: no
|
|
rsync_opts:
|
|
- "--exclude=job-output.txt"
|
|
- "--exclude=job-output.json"
|
|
no_log: "{{ not zuul_log_verbose }}"
|
|
|
|
# After this point there are no more logs
|
|
- name: gzip console log and json output
|
|
delegate_to: localhost
|
|
archive:
|
|
path: "{{ zuul.executor.log_root }}/{{ zj_log }}"
|
|
mode: 0644
|
|
with_items:
|
|
- job-output.txt
|
|
- job-output.json
|
|
loop_control:
|
|
loop_var: zj_log
|
|
when: zuul_log_compress | bool
|
|
|
|
- name: Upload compressed console log and json output
|
|
synchronize:
|
|
src: "{{ zuul.executor.log_root }}/{{ zj_log }}.gz"
|
|
dest: "{{ zuul_logserver_root }}/{{ zuul_log_path }}/{{ zj_log }}.gz"
|
|
verify_host: true
|
|
owner: no
|
|
group: no
|
|
with_items:
|
|
- job-output.txt
|
|
- job-output.json
|
|
loop_control:
|
|
loop_var: zj_log
|
|
when: zuul_log_compress | bool
|
|
|
|
- name: Upload console log and json output
|
|
synchronize:
|
|
src: "{{ zuul.executor.log_root }}/{{ zj_log }}"
|
|
dest: "{{ zuul_logserver_root }}/{{ zuul_log_path }}/{{ zj_log }}"
|
|
verify_host: true
|
|
owner: no
|
|
group: no
|
|
with_items:
|
|
- job-output.txt
|
|
- job-output.json
|
|
loop_control:
|
|
loop_var: zj_log
|
|
when: not zuul_log_compress | bool
|
|
|
|
- name: Return log URL to Zuul
|
|
delegate_to: localhost
|
|
zuul_return:
|
|
data:
|
|
zuul:
|
|
log_url: "{{ zuul_log_url }}/{{ zuul_log_path }}/"
|
|
when: zuul_log_url is defined
|