diff options
| author | Eduardo Gonzalez <dabarren@gmail.com> | 2017-07-20 17:46:30 +0200 |
|---|---|---|
| committer | Eduardo Gonzalez <dabarren@gmail.com> | 2017-07-24 14:32:09 +0000 |
| commit | 52f73f40619ab654b6f6edb7aad0aad6261d228b (patch) | |
| tree | 4cc9c3efcca494a50157468840ad5416c0d692df | |
| parent | ffc4fb379391a91bc2ea76087b8ef834a9ebf83c (diff) | |
| download | kolla-ansible-52f73f40619ab654b6f6edb7aad0aad6261d228b.tar.gz kolla-ansible-52f73f40619ab654b6f6edb7aad0aad6261d228b.zip | |
Fix logging collection in gates
Log retrieval was out of sync since repo split
and from multinode gates.
Many useful information retrieved before like
ps, df, docker info, etc is not in kolla-ansible
gates.
Also, his change fix logs visualization to have
colored view, allowing to easily identify errors.
Change-Id: I948233e26ceb6efc58b962bcb4b710b3f006232b
| -rw-r--r-- | tests/get_logs.sh | 51 |
1 files changed, 46 insertions, 5 deletions
diff --git a/tests/get_logs.sh b/tests/get_logs.sh index 9ac82cda3..fe5f8b6b2 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() { |
