diff --git a/tests/get_logs.sh b/tests/get_logs.sh index 9ac82cda3b..fe5f8b6b28 100644 --- a/tests/get_logs.sh +++ b/tests/get_logs.sh @@ -1,16 +1,57 @@ #!/bin/bash copy_logs() { - cp -rnL /var/lib/docker/volumes/kolla_logs/_data/* /tmp/logs/kolla/ - cp -rnL /etc/kolla/* /tmp/logs/kolla_configs/ - cp -rvnL /var/log/* /tmp/logs/system_logs/ + set +o errexit + LOG_DIR=$(readlink -f /tmp/logs) + + cp -rnL /var/lib/docker/volumes/kolla_logs/_data/* ${LOG_DIR}/kolla/ + cp -rnL /etc/kolla/* ${LOG_DIR}/kolla_configs/ + cp -rvnL /var/log/* ${LOG_DIR}/system_logs/ if [[ -x "$(command -v journalctl)" ]]; then - journalctl --no-pager -u docker.service > /tmp/logs/system_logs/docker.log + journalctl --no-pager > ${LOG_DIR}/system_logs/syslog.txt + journalctl --no-pager -u docker.service > ${LOG_DIR}/system_logs/docker.log else - cp /var/log/upstart/docker.log /tmp/logs/system_logs/docker.log + cp /var/log/upstart/docker.log ${LOG_DIR}/system_logs/docker.log fi + + sudo cp -r /etc/sudoers.d ${LOG_DIR}/system_logs/ + sudo cp /etc/sudoers ${LOG_DIR}/system_logs/sudoers.txt + + df -h > ${LOG_DIR}/system_logs/df.txt + free > ${LOG_DIR}/system_logs/free.txt + sudo parted -l > ${LOG_DIR}/system_logs/parted-l.txt + mount > ${LOG_DIR}/system_logs/mount.txt + env > ${LOG_DIR}/system_logs/env.txt + + if [ `command -v dpkg` ]; then + dpkg -l > ${LOG_DIR}/system_logs/dpkg-l.txt + fi + if [ `command -v rpm` ]; then + rpm -qa > ${LOG_DIR}/system_logs/rpm-qa.txt + fi + + # final memory usage and process list + ps -eo user,pid,ppid,lwp,%cpu,%mem,size,rss,cmd > ${LOG_DIR}/system_logs/ps.txt + + # docker related information + (docker info && docker images && docker ps -a) > ${LOG_DIR}/system_logs/docker-info.txt + + # 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. + + # Rename all .log files to .txt files + for f in $(find ${LOG_DIR}/{system_logs,kolla,docker_logs} -name "*.log"); do + sudo mv $f ${f/.log/.txt} + done + + sudo find ${LOG_DIR}/{system_logs,kolla,docker_logs} -iname '*.txt' -execdir gzip -f -9 {} \+ + sudo find ${LOG_DIR}/{system_logs,kolla,docker_logs} -iname '*.json' -execdir gzip -f -9 {} \+ + + set +o errexit } check_failure() {