--- # Copyright 2017, Logan Vig # # 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: "git.openstack.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: | source scripts/scripts-library.sh gate_job_exit_tasks become: yes become_user: root args: chdir: "{{ ansible_user_dir }}/src/{{ current_test_repo }}" executable: /bin/bash environment: # ZUUL_PROJECT is used by the log collection functions to enable # log collection configuration specific to OpenStack CI ZUUL_PROJECT: "{{ zuul.project.short_name }}" TEST_EXIT_CODE: "{{ zuul_success | lower }}" GATE_LOG_DIR: "{{ ansible_user_dir }}/src/{{ current_test_repo }}/logs" - 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