mirror of
https://github.com/containers/podman
synced 2024-10-20 17:23:30 +00:00
ffe726ed64
When executing 'make remotesystem' testing, a varlink process is started up but it's stdio is dumped due to the production of excessive data. However, this also means if the process has a problem, any errors will not be accessible. Instead, grab only the last 100 lines and direct them into a file. Also update automation's log collection to retrieve this file when the `$REMOTE_CLIENT` env. var. is `true`. Signed-off-by: Chris Evich <cevich@redhat.com>
78 lines
2.3 KiB
Bash
Executable file
78 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
source $(dirname $0)/lib.sh
|
|
|
|
req_env_var CIRRUS_WORKING_DIR OS_RELEASE_ID TEST_REMOTE_CLIENT
|
|
|
|
# Assume there are other log collection commands to follow - Don't
|
|
# let one break another that may be useful, but also keep any
|
|
# actual script-problems fatal so they are noticed right away.
|
|
showrun() {
|
|
echo '+ '$(printf " %q" "$@")
|
|
set +e
|
|
echo '------------------------------------------------------------'
|
|
"$@"
|
|
local status=$?
|
|
[[ $status -eq 0 ]] || \
|
|
echo "[ rc = $status -- proceeding anyway ]"
|
|
echo '------------------------------------------------------------'
|
|
set -e
|
|
}
|
|
|
|
case $1 in
|
|
audit)
|
|
case $OS_RELEASE_ID in
|
|
ubuntu) showrun cat /var/log/kern.log ;;
|
|
fedora) showrun cat /var/log/audit/audit.log ;;
|
|
*) bad_os_id_ver ;;
|
|
esac
|
|
;;
|
|
df) showrun df -lhTx tmpfs ;;
|
|
ginkgo) showrun cat $CIRRUS_WORKING_DIR/test/e2e/ginkgo-node-*.log ;;
|
|
journal) showrun journalctl -b ;;
|
|
varlink)
|
|
if [[ "$TEST_REMOTE_CLIENT" == "true" ]]
|
|
then
|
|
echo "(Trailing 100 lines of $VARLINK_LOG)"
|
|
showrun tail -100 $VARLINK_LOG
|
|
else
|
|
die 0 "\$TEST_REMOTE_CLIENT is not 'true': $TEST_REMOTE_CLIENT"
|
|
fi
|
|
;;
|
|
packages)
|
|
# These names are common to Fedora and Ubuntu
|
|
PKG_NAMES=(\
|
|
conmon \
|
|
containernetworking-plugins \
|
|
containers-common \
|
|
criu \
|
|
golang \
|
|
podman \
|
|
skopeo \
|
|
slirp4netns \
|
|
)
|
|
case $OS_RELEASE_ID in
|
|
fedora*)
|
|
PKG_LST_CMD='rpm -q --qf=%{N}-%{V}-%{R}-%{ARCH}\n'
|
|
PKG_NAMES+=(\
|
|
container-selinux \
|
|
crun \
|
|
runc \
|
|
)
|
|
;;
|
|
ubuntu*)
|
|
PKG_LST_CMD='dpkg-query --show --showformat=${Package}-${Version}-${Architecture}\n'
|
|
PKG_NAMES+=(\
|
|
cri-o-runc \
|
|
)
|
|
;;
|
|
*) bad_os_id_ver ;;
|
|
esac
|
|
# Any not-present packages will be listed as such
|
|
$PKG_LST_CMD ${PKG_NAMES[@]} | sort -u
|
|
;;
|
|
*) die 1 "Warning, $(basename $0) doesn't know how to handle the parameter '$1'"
|
|
esac
|