63 lines
2.0 KiB
YAML
63 lines
2.0 KiB
YAML
---
|
|
# Copyright 2017, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- hosts: all
|
|
tasks:
|
|
- name: Set current test repo (cross-repo)
|
|
set_fact:
|
|
current_test_repo: "opendev.org/{{ osa_test_repo }}"
|
|
when:
|
|
- osa_test_repo is defined
|
|
|
|
- name: Set current test repo (non-cross-repo)
|
|
set_fact:
|
|
current_test_repo: "{{ zuul.project.canonical_name }}"
|
|
when:
|
|
- osa_test_repo is not defined
|
|
|
|
- name: Run log collection script
|
|
shell: |
|
|
echo "TEST_EXIT_CODE: ${TEST_EXIT_CODE}"
|
|
if [[ -d "tests/common" ]]; then
|
|
source tests/common/test-log-collect.sh
|
|
else
|
|
echo "The common tests repo has not been cloned yet. Logs cannot be collected without it."
|
|
fi
|
|
args:
|
|
executable: "/bin/bash"
|
|
chdir: "{{ ansible_user_dir }}/src/{{ current_test_repo }}"
|
|
environment:
|
|
TEST_EXIT_CODE: "{{ zuul_success | lower }}"
|
|
|
|
- name: Check whether a logs folder exists
|
|
stat:
|
|
path: "{{ ansible_user_dir }}/src/{{ current_test_repo }}/logs"
|
|
get_attributes: no
|
|
get_checksum: no
|
|
get_md5: no
|
|
get_mime: no
|
|
register: logs_folder
|
|
|
|
- name: Copy logs back to the executor
|
|
synchronize:
|
|
src: "{{ ansible_user_dir }}/src/{{ current_test_repo }}/logs"
|
|
dest: "{{ zuul.executor.log_root }}/"
|
|
mode: pull
|
|
rsync_opts:
|
|
- "--quiet"
|
|
when:
|
|
- logs_folder.stat is defined
|
|
- logs_folder.stat.exists | bool
|