f7d87aa433
Some of the hardest-to-debug issues are qemu crashes deep in a nova workflow that can't be reproduced locally. This adds a post task to the playbook so that we capture the most recent qemu core dump, if there is one. Change-Id: I48a2ea883325ca920b7e7909edad53a9832fb319
42 lines
1.7 KiB
YAML
42 lines
1.7 KiB
YAML
- 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
|
|
- name: Capture most recent qemu crash dump, if any
|
|
shell:
|
|
executable: /bin/bash
|
|
cmd: |
|
|
coredumpctl -o {{ devstack_log_dir }}/qemu.coredump dump /usr/bin/qemu-system-x86_64
|
|
ignore_errors: yes
|
|
roles:
|
|
- export-devstack-journal
|
|
- apache-logs-conf
|
|
# This should run as early as possible to make sure we don't skew
|
|
# the post-tempest results with other activities.
|
|
- capture-performance-data
|
|
- devstack-project-conf
|
|
# capture-system-logs should be the last role before stage-output
|
|
- capture-system-logs
|
|
- role: stage-output
|
|
# 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 }}"
|