Andrea Frittoli (andreaf) | 290d9d8 | 2017-12-11 14:30:59 +0000 | [diff] [blame] | 1 | # NOTE(andreaf) This bypasses the stage-output role |
| 2 | - name: Ensure {{ stage_dir }}/logs exists |
| 3 | become: true |
| 4 | file: |
| 5 | path: "{{ stage_dir }}/logs" |
| 6 | state: directory |
| 7 | owner: "{{ ansible_user }}" |
| 8 | |
Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 9 | # TODO: convert this to ansible |
| 10 | - name: Export journal files |
| 11 | become: true |
| 12 | shell: |
| 13 | cmd: | |
| 14 | u="" |
| 15 | name="" |
| 16 | for u in `systemctl list-unit-files | grep devstack | awk '{print $1}'`; do |
| 17 | name=$(echo $u | sed 's/devstack@/screen-/' | sed 's/\.service//') |
Clark Boylan | 2700bf8 | 2018-01-04 10:16:16 -0800 | [diff] [blame^] | 18 | journalctl -o short-precise --unit $u | gzip - > {{ stage_dir }}/logs/$name.txt.gz |
Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 19 | done |
| 20 | |
| 21 | # Export the journal in export format to make it downloadable |
| 22 | # for later searching. It can then be rewritten to a journal native |
| 23 | # format locally using systemd-journal-remote. This makes a class of |
| 24 | # debugging much easier. We don't do the native conversion here as |
| 25 | # some distros do not package that tooling. |
| 26 | journalctl -u 'devstack@*' -o export | \ |
Andrea Frittoli (andreaf) | 290d9d8 | 2017-12-11 14:30:59 +0000 | [diff] [blame] | 27 | xz --threads=0 - > {{ stage_dir }}/logs/devstack.journal.xz |
Monty Taylor | 36ddea3 | 2017-10-02 10:05:17 -0500 | [diff] [blame] | 28 | |
| 29 | # The journal contains everything running under systemd, we'll |
| 30 | # build an old school version of the syslog with just the |
| 31 | # kernel and sudo messages. |
| 32 | journalctl \ |
| 33 | -t kernel \ |
| 34 | -t sudo \ |
| 35 | --no-pager \ |
| 36 | --since="$(cat {{ devstack_base_dir }}/log-start-timestamp.txt)" \ |
Clark Boylan | 2700bf8 | 2018-01-04 10:16:16 -0800 | [diff] [blame^] | 37 | | gzip - > {{ stage_dir }}/logs/syslog.txt.gz |