79 lines
3.1 KiB
YAML
79 lines
3.1 KiB
YAML
---
|
|
- name: Ensure the collection directory exists
|
|
file:
|
|
path: "{{ artcl_collect_dir }}"
|
|
state: directory
|
|
|
|
- name: fetch and gzip the console log
|
|
shell: >
|
|
curl -k {{ lookup('env', 'BUILD_URL') }}/consoleText | gzip > {{ artcl_collect_dir }}/console.txt.gz
|
|
when: lookup('env', 'BUILD_URL') != ""
|
|
|
|
- name: Retrieve the ARA static playbook report
|
|
command: cp -a {{ local_working_dir }}/ara {{ artcl_collect_dir }}/ara
|
|
ignore_errors: "yes"
|
|
|
|
- name: fetch stackviz results to the root of the collect_dir
|
|
shell: >
|
|
if [ -d {{ artcl_collect_dir }}/undercloud/var/log/extra/stackviz/data ]; then
|
|
cp -r {{ artcl_collect_dir }}/undercloud/var/log/extra/stackviz {{ artcl_collect_dir }};
|
|
gunzip -r {{ artcl_collect_dir }}/stackviz;
|
|
fi;
|
|
|
|
- name: fetch tempest results to the root of the collect_dir
|
|
shell: >
|
|
cp {{ artcl_collect_dir }}/undercloud/home/stack/tempest/tempest.{xml,html}{,.gz} {{ artcl_collect_dir }} || true;
|
|
gunzip {{ artcl_collect_dir }}/tempest.{xml,html}.gz || true;
|
|
|
|
- name: Rename text based files to end with txt.gz extension
|
|
shell: >
|
|
find {{ artcl_collect_dir }} -type f |
|
|
awk 'function rename(orig)
|
|
{ new=orig; sub(/\.gz$/, ".txt.gz", new); system("mv " orig " " new) }
|
|
/\.(conf|ini|json|sh|log|yaml|yml)\.gz$/ { rename($0) }
|
|
/(\/var\/log\/|\/etc\/)[^ \/\.]+\.gz$/ { rename($0) }';
|
|
when: artcl_txt_rename|bool
|
|
|
|
- name: upload to the artifact server using pubkey auth
|
|
shell: rsync -av --quiet -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" {{ artcl_collect_dir }}/ {{ artcl_rsync_path }}/{{ lookup('env', 'BUILD_TAG') }}
|
|
async: "{{ artcl_publish_timeout }}"
|
|
poll: 15
|
|
retries: 5
|
|
delay: 60
|
|
when: artcl_use_rsync|bool and not artcl_rsync_use_daemon|bool
|
|
|
|
- name: upload to the artifact server using password auth
|
|
environment:
|
|
RSYNC_PASSWORD: "{{ lookup('env', 'RSYNC_PASSWORD') }}"
|
|
shell: rsync -av --quiet {{ artcl_collect_dir }}/ {{ artcl_rsync_path }}/{{ lookup('env', 'BUILD_TAG') }}
|
|
async: "{{ artcl_publish_timeout }}"
|
|
poll: 15
|
|
retries: 5
|
|
delay: 60
|
|
when: artcl_use_rsync|bool and artcl_rsync_use_daemon|bool
|
|
|
|
- name: upload to swift based artifact server
|
|
shell: swift upload --quiet --header "X-Delete-After:{{ artcl_swift_delete_after }}" {{ artcl_swift_container }}/{{ lookup('env', 'BUILD_TAG') }} *
|
|
args:
|
|
chdir: "{{ artcl_collect_dir }}"
|
|
changed_when: true
|
|
environment:
|
|
OS_AUTH_URL: "{{ artcl_swift_auth_url }}"
|
|
OS_USERNAME: "{{ artcl_swift_username }}"
|
|
OS_PASSWORD: "{{ artcl_swift_password }}"
|
|
OS_TENANT_NAME: "{{ artcl_swift_tenant_name }}"
|
|
async: "{{ artcl_publish_timeout }}"
|
|
poll: 15
|
|
when: artcl_use_swift|bool
|
|
|
|
- name: use zuul_swift_upload.py to publish the files
|
|
shell: "{{ artcl_zuul_swift_upload_path }}/zuul_swift_upload.py --name {{ artcl_swift_container }} --delete-after {{ artcl_swift_delete_after }} {{ artcl_collect_dir }}"
|
|
async: "{{ artcl_publish_timeout }}"
|
|
poll: 15
|
|
when: artcl_use_zuul_swift_upload|bool
|
|
|
|
- name: create the artifact location redirect file
|
|
template:
|
|
src: full_logs.html.j2
|
|
dest: "{{ artcl_collect_dir }}/full_logs.html"
|