| - hosts: all | |
| become: True | |
| vars: | |
| devstack_log_dir: "{{ devstack_base_dir|default('/opt/stack') }}/logs/" | |
| devstack_conf_dir: "{{ devstack_base_dir|default('/opt/stack') }}/devstack/" | |
| devstack_full_log: "{{ devstack_early_log|default('/opt/stack/logs/devstack-early.txt') }}" | |
| tasks: | |
| # NOTE(andreaf) If the tempest service is enabled, a tempest.log is | |
| # generated as part of lib/tempest, as a result of verify_tempest_config | |
| - name: Check if a tempest log exits | |
| stat: | |
| path: "{{ devstack_conf_dir }}/tempest.log" | |
| register: tempest_log | |
| - name: Link post-devstack tempest.log | |
| file: | |
| src: "{{ devstack_conf_dir }}/tempest.log" | |
| dest: "{{ stage_dir }}/verify_tempest_conf.log" | |
| state: hard | |
| when: tempest_log.stat.exists | |
| roles: | |
| - export-devstack-journal | |
| - apache-logs-conf | |
| - devstack-project-conf | |
| # capture-system-logs should be the last role before stage-output | |
| - capture-system-logs | |
| - role: stage-output | |
| zuul_copy_output: | |
| { '{{ devstack_conf_dir }}/local.conf': 'logs', | |
| '{{ devstack_conf_dir }}/localrc': 'logs', | |
| '{{ devstack_conf_dir }}/.stackenv': 'logs' , | |
| '{{ devstack_log_dir }}/dstat-csv.log': 'logs', | |
| '{{ devstack_log_dir }}/devstacklog.txt': 'logs', | |
| '{{ devstack_log_dir }}/devstacklog.txt.summary': 'logs', | |
| '{{ devstack_full_log}}': 'logs', | |
| '{{ stage_dir }}/verify_tempest_conf.log': 'logs', | |
| '{{ stage_dir }}/apache': 'logs', | |
| '{{ stage_dir }}/apache_config': 'logs', | |
| '{{ stage_dir }}/etc': 'logs', | |
| '/var/log/rabbitmq': 'logs', | |
| '/var/log/postgresql': 'logs', | |
| '/var/log/mysql.err': 'logs', | |
| '/var/log/mysql.log': 'logs', | |
| '/var/log/libvirt': 'logs', | |
| '/etc/sudoers': 'logs', | |
| '/etc/sudoers.d': 'logs', | |
| '{{ stage_dir }}/iptables.txt': 'logs', | |
| '{{ stage_dir }}/df.txt': 'logs', | |
| '{{ stage_dir }}/pip2-freeze.txt': 'logs', | |
| '{{ stage_dir }}/pip3-freeze.txt': 'logs', | |
| '{{ stage_dir }}/dpkg-l.txt': 'logs', | |
| '{{ stage_dir }}/rpm-qa.txt': 'logs', | |
| '{{ stage_dir }}/core': 'logs', | |
| '{{ stage_dir }}/listen53.txt': 'logs', | |
| '{{ stage_dir }}/deprecations.log': 'logs', | |
| '/var/log/ceph': 'logs', | |
| '/var/log/openvswitch': 'logs', | |
| '/var/log/glusterfs': 'logs', | |
| '/etc/glusterfs/glusterd.vol': 'logs', | |
| '/etc/resolv.conf': 'logs', | |
| '/var/log/unbound.log': 'logs' } | |
| extensions_to_txt: | |
| - conf | |
| - log | |
| - localrc | |
| - stackenv | |
| - summary | |
| # NOTE(andreaf) We need fetch-devstack-log-dir only as long as the base job | |
| # starts pulling logs for us from {{ ansible_user_dir }}/logs. | |
| # Meanwhile we already store things in ansible_user_dir and use | |
| # fetch-devstack-log-dir setting devstack_base_dir | |
| - role: fetch-devstack-log-dir | |
| devstack_base_dir: "{{ ansible_user_dir }}" |