You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.9 KiB
46 lines
1.9 KiB
- hosts: all |
|
tasks: |
|
- shell: |
|
cmd: | |
|
set +o errexit |
|
mkdir -p logs |
|
# copy system log |
|
sudo cp -r /var/log logs/system_log |
|
if which journalctl ; then |
|
# the journal gives us syslog() and kernel output, so is like |
|
# a concatenation of the above. |
|
sudo journalctl --no-pager | sudo tee logs/syslog.txt > /dev/null |
|
sudo journalctl --no-pager -u docker.service | sudo tee logs/docker.log > /dev/null |
|
fi |
|
# sudo config |
|
# final memory usage and process list |
|
ps -eo user,pid,ppid,lwp,%cpu,%mem,size,rss,cmd > logs/ps.txt |
|
# docker related information |
|
(docker info && docker system df && docker system df -v) > logs/docker-info.txt |
|
# fix the permissions for logs folder |
|
sudo chmod -R 777 logs |
|
# rename files to .txt; this is so that when displayed via |
|
# logs.openstack.org clicking results in the browser shows the |
|
# files, rather than trying to send it to another app or make you |
|
# download it, etc. |
|
# firstly, rename all .log files to .txt files |
|
for f in $(find logs -name "*.log"); do |
|
sudo mv $f ${f/.log/.txt} |
|
done |
|
# Update symlinks to new file names |
|
for f in $(find logs -name "*FAILED*"); do |
|
sudo mv ${f} ${f}.gz |
|
sudo ln -sf ${f#*/000_FAILED_}.gz ${f}.gz |
|
done |
|
# Compress all text logs |
|
find logs -iname '*.txt' -execdir gzip -9 {} \+ |
|
find logs -iname '*.json' -execdir gzip -9 {} \+ |
|
executable: /bin/bash |
|
chdir: "{{ zuul.project.src_dir }}" |
|
|
|
- synchronize: |
|
src: '{{ zuul.project.src_dir }}/logs' |
|
dest: '{{ zuul.executor.log_root }}' |
|
mode: pull |
|
copy_links: true |
|
verify_host: true
|
|
|