kolla/tools/gate_run.sh
Jeffrey Zhang c282fa45fd Get correct tag name when job is running in release pipeline
It is different to get the branch name and tag name in post and release
pipeline. With this patch, we can push tag registry tarballs.

Change-Id: Ifd1a3fe3da5548c340947946c27649a3059eb8b0
2017-03-20 21:56:37 +08:00

103 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
set -o errexit
set -o xtrace
function collect_logs {
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
else
# assume rsyslog
sudo cp /var/log/syslog logs/syslog.txt
sudo cp /var/log/kern.log logs/kern_log.txt
sudo cp /var/log/upstart/docker.log logs/docker.log
fi
if [[ -d /var/lib/docker/volumes/kolla_logs/_data ]]; then
sudo cp -r /var/lib/docker/volumes/kolla_logs/_data logs/kolla_logs
fi
# sudo config
sudo cp -r /etc/sudoers.d logs/
sudo cp /etc/sudoers logs/sudoers.txt
df -h > logs/df.txt
free > logs/free.txt
sudo parted -l | sudo tee logs/parted-l.txt > /dev/null
mount > logs/mount.txt
env > logs/env.txt
if [ `command -v dpkg` ]; then
dpkg -l | sudo tee logs/dpkg-l.txt > /dev/null
fi
if [ `command -v rpm` ]; then
rpm -qa | sudo tee logs/rpm-qa.txt > /dev/null
fi
# 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 images && docker ps -a) > logs/docker-info.txt
sudo cp -r /etc/kolla logs/kolla_configs
# 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
# append .txt to all kolla config file
find logs/kolla_configs -type f -exec mv '{}' '{}'.txt \;
# Compress all text logs
find logs -iname '*.txt' -execdir gzip -9 {} \+
find logs -iname '*.json' -execdir gzip -9 {} \+
set -o errexit
}
function pack_registry {
if [[ "$ZUUL_PIPELINE" == "tag" ]]; then
# ZUUL_REFNAME=refs/tags/4.0.0
REF_NAME=$(echo $ZUUL_REFNAME | cut -d/ -f3)
else
# ZUUL_REFNAME=stable/ocata or master
REF_NAME=$(echo $ZUUL_REFNAME | cut -d/ -f2)
fi
sudo mkdir "images"
FILENAME=${BASE_DISTRO}-${INSTALL_TYPE}-registry-${REF_NAME}.tar.gz
sudo docker stop registry
sudo tar -zcf "images/$FILENAME" -C /tmp/kolla_registry .
sudo docker start registry
sudo chmod 755 -R images
}
trap collect_logs EXIT
tools/setup_gate.sh
tox -e $ACTION-$BASE_DISTRO-$INSTALL_TYPE
if [[ -n $PACK_REGISTRY ]] && [[ $ACTION == "build" ]]; then
pack_registry
fi