blob: 77b5ec5098b7ce2c86606c7d4f9e2467cd3415ea [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
yatinkarel42be2422022-04-28 18:15:50 +053022 # Services status
23 sudo systemctl status --all > services.txt 2>/dev/null
24
Kashyap Chamarthy4eb455a2019-02-22 20:11:35 +010025 # NOTE(kchamart) The 'audit.log' can be useful in cases when QEMU
26 # failed to start due to denials from SELinux — useful for CentOS
27 # and Fedora machines. For Ubuntu (which runs AppArmor), DevStack
28 # already captures the contents of /var/log/kern.log (via
29 # `journalctl -t kernel` redirected into syslog.txt.gz), which
30 # contains AppArmor-related messages.
31 if [ -f /var/log/audit/audit.log ] ; then
32 sudo cp /var/log/audit/audit.log {{stage_dir }}/audit.log &&
33 chmod +r {{ stage_dir }}/audit.log;
34 fi
35
Andrea Frittoli (andreaf)a2b17412017-12-15 17:35:31 +000036 # gzip and save any coredumps in /var/core
37 if [ -d /var/core ]; then
38 sudo gzip -r /var/core
39 sudo cp -r /var/core {{ stage_dir }}/
40 fi
41
42 sudo ss -lntup | grep ':53' > {{ stage_dir }}/listen53.txt
43
44 # NOTE(andreaf) Service logs are already in logs/ thanks for the
45 # export-devstack-journal log. Apache logs are under apache/ thans to the
46 # apache-logs-conf role.
47 grep -i deprecat {{ stage_dir }}/logs/*.txt {{ stage_dir }}/apache/*.log | \
48 sed -r 's/[0-9]{1,2}\:[0-9]{1,2}\:[0-9]{1,2}\.[0-9]{1,3}/ /g' | \
49 sed -r 's/[0-9]{1,2}\:[0-9]{1,2}\:[0-9]{1,2}/ /g' | \
50 sed -r 's/[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,4}/ /g' |
51 sed -r 's/\[.*\]/ /g' | \
52 sed -r 's/\s[0-9]+\s/ /g' | \
53 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