blob: 905806d5290ee5989a911dce7abd407df8496d4f [file] [log] [blame]
Andrea Frittoli (andreaf)a2b17412017-12-15 17:35:31 +00001# TODO(andreaf) Make this into proper Ansible
2- name: Stage various logs and reports
3 shell:
Pavlo Shchelokovskyyb59c93c2018-02-26 16:36:54 +00004 executable: /bin/bash
Andrea Frittoli (andreaf)a2b17412017-12-15 17:35:31 +00005 cmd: |
6 sudo iptables-save > {{ stage_dir }}/iptables.txt
7 df -h > {{ stage_dir }}/df.txt
8
9 for py_ver in 2 3; do
10 if [[ `which python${py_ver}` ]]; then
11 python${py_ver} -m pip freeze > {{ stage_dir }}/pip${py_ver}-freeze.txt
12 fi
13 done
14
15 if [ `command -v dpkg` ]; then
16 dpkg -l> {{ stage_dir }}/dpkg-l.txt
17 fi
18 if [ `command -v rpm` ]; then
19 rpm -qa | sort > {{ stage_dir }}/rpm-qa.txt
20 fi
21
Kashyap Chamarthy4eb455a2019-02-22 20:11:35 +010022 # NOTE(kchamart) The 'audit.log' can be useful in cases when QEMU
23 # failed to start due to denials from SELinux — useful for CentOS
24 # and Fedora machines. For Ubuntu (which runs AppArmor), DevStack
25 # already captures the contents of /var/log/kern.log (via
26 # `journalctl -t kernel` redirected into syslog.txt.gz), which
27 # contains AppArmor-related messages.
28 if [ -f /var/log/audit/audit.log ] ; then
29 sudo cp /var/log/audit/audit.log {{stage_dir }}/audit.log &&
30 chmod +r {{ stage_dir }}/audit.log;
31 fi
32
Andrea Frittoli (andreaf)a2b17412017-12-15 17:35:31 +000033 # gzip and save any coredumps in /var/core
34 if [ -d /var/core ]; then
35 sudo gzip -r /var/core
36 sudo cp -r /var/core {{ stage_dir }}/
37 fi
38
39 sudo ss -lntup | grep ':53' > {{ stage_dir }}/listen53.txt
40
41 # NOTE(andreaf) Service logs are already in logs/ thanks for the
42 # export-devstack-journal log. Apache logs are under apache/ thans to the
43 # apache-logs-conf role.
44 grep -i deprecat {{ stage_dir }}/logs/*.txt {{ stage_dir }}/apache/*.log | \
45 sed -r 's/[0-9]{1,2}\:[0-9]{1,2}\:[0-9]{1,2}\.[0-9]{1,3}/ /g' | \
46 sed -r 's/[0-9]{1,2}\:[0-9]{1,2}\:[0-9]{1,2}/ /g' | \
47 sed -r 's/[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}/ /g' |
48 sed -r 's/\[.*\]/ /g' | \
49 sed -r 's/\s[0-9]+\s/ /g' | \
50 awk '{if ($0 in seen) {seen[$0]++} else {out[++n]=$0;seen[$0]=1}} END { for (i=1; i<=n; i++) print seen[out[i]]" :: " out[i] }' > {{ stage_dir }}/deprecations.log