mirror of https://github.com/containers/podman.git
Merge pull request #3308 from cevich/always_collect_logs
Cirrus: Simplify log collection commands
This commit is contained in:
commit
058c93f850
55
.cirrus.yml
55
.cirrus.yml
|
@ -21,12 +21,10 @@ env:
|
||||||
CIRRUS_SHELL: "/bin/bash"
|
CIRRUS_SHELL: "/bin/bash"
|
||||||
# Save a little typing (path relative to $CIRRUS_WORKING_DIR)
|
# Save a little typing (path relative to $CIRRUS_WORKING_DIR)
|
||||||
SCRIPT_BASE: "./contrib/cirrus"
|
SCRIPT_BASE: "./contrib/cirrus"
|
||||||
# Command to prefix every output line with a timestamp
|
CIRRUS_CLONE_DEPTH: 50
|
||||||
|
# Command to prefix output lines with timing information
|
||||||
# (can't do inline awk script, Cirrus-CI or YAML mangles quoting)
|
# (can't do inline awk script, Cirrus-CI or YAML mangles quoting)
|
||||||
TIMESTAMP: "awk --file ${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/timestamp.awk"
|
TIMESTAMP: "awk --file ${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/timestamp.awk"
|
||||||
# Command to log critical filesystems, types, and sizes.
|
|
||||||
DFCMD: "df -lhTx tmpfs"
|
|
||||||
CIRRUS_CLONE_DEPTH: 50
|
|
||||||
|
|
||||||
####
|
####
|
||||||
#### Cache-image names to test with
|
#### Cache-image names to test with
|
||||||
|
@ -280,18 +278,15 @@ testing_task:
|
||||||
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
||||||
unit_test_script: '$SCRIPT_BASE/unit_test.sh |& ${TIMESTAMP}'
|
unit_test_script: '$SCRIPT_BASE/unit_test.sh |& ${TIMESTAMP}'
|
||||||
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
||||||
ginkgo_node_logs_script: 'cat $CIRRUS_WORKING_DIR/test/e2e/ginkgo-node-*.log || echo "Ginkgo node logs not found"'
|
|
||||||
df_script: '${DFCMD}'
|
|
||||||
audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log'
|
|
||||||
journalctl_b_script: 'journalctl -b'
|
|
||||||
|
|
||||||
on_failure:
|
on_failure:
|
||||||
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
||||||
# Job has already failed, don't fail again and miss collecting data
|
|
||||||
failed_ginkgo_node_logs_script: 'cat $CIRRUS_WORKING_DIR/test/e2e/ginkgo-node-*.log || echo "Ginkgo node logs not found"'
|
always: &standardlogs
|
||||||
failed_df_script: '${DFCMD}'
|
ginkgo_node_logs_script: '$SCRIPT_BASE/logcollector.sh ginkgo'
|
||||||
failed_audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log || echo "Uh oh, cat audit.log failed"'
|
df_script: '$SCRIPT_BASE/logcollector.sh df'
|
||||||
failed_journalctl_b_script: 'journalctl -b || echo "Uh oh, journalctl -b failed"'
|
audit_log_script: '$SCRIPT_BASE/logcollector.sh audit'
|
||||||
|
journal_script: '$SCRIPT_BASE/logcollector.sh journal'
|
||||||
|
|
||||||
|
|
||||||
# This task executes tests under unique environments/conditions
|
# This task executes tests under unique environments/conditions
|
||||||
|
@ -316,16 +311,13 @@ special_testing_rootless_task:
|
||||||
|
|
||||||
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
||||||
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
||||||
df_script: '${DFCMD}'
|
|
||||||
audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log'
|
|
||||||
journalctl_b_script: 'journalctl -b'
|
|
||||||
|
|
||||||
on_failure:
|
on_failure:
|
||||||
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
||||||
# Job has already failed, don't fail again and miss collecting data
|
|
||||||
failed_df_script: '${DFCMD}'
|
always:
|
||||||
failed_audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log || echo "Uh oh, cat audit.log failed"'
|
<<: *standardlogs
|
||||||
failed_journalctl_b_script: 'journalctl -b || echo "Uh oh, journalctl -b failed"'
|
|
||||||
|
|
||||||
special_testing_in_podman_task:
|
special_testing_in_podman_task:
|
||||||
|
|
||||||
|
@ -344,16 +336,12 @@ special_testing_in_podman_task:
|
||||||
|
|
||||||
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
||||||
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
||||||
df_script: '${DFCMD}'
|
|
||||||
audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log'
|
|
||||||
journalctl_b_script: 'journalctl -b'
|
|
||||||
|
|
||||||
on_failure:
|
on_failure:
|
||||||
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
failed_master_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_master_failure.sh'
|
||||||
# Job has already failed, don't fail again and miss collecting data
|
|
||||||
failed_df_script: '${DFCMD}'
|
always:
|
||||||
failed_audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log || echo "Uh oh, cat audit.log failed"'
|
<<: *standardlogs
|
||||||
failed_journalctl_b_script: 'journalctl -b || echo "Uh oh, journalctl -b failed"'
|
|
||||||
|
|
||||||
|
|
||||||
# Test building of new cache-images for future PR testing, in this PR.
|
# Test building of new cache-images for future PR testing, in this PR.
|
||||||
|
@ -416,16 +404,9 @@ verify_test_built_images_task:
|
||||||
environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
||||||
|
|
||||||
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
||||||
ginkgo_node_logs_script: 'cat $CIRRUS_WORKING_DIR/test/e2e/ginkgo-node-*.log || echo "Ginkgo node logs not found"'
|
|
||||||
df_script: '${DFCMD}'
|
always:
|
||||||
audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log'
|
<<: *standardlogs
|
||||||
journalctl_b_script: 'journalctl -b'
|
|
||||||
on_failure:
|
|
||||||
# Job has already failed, don't fail again and miss collecting data
|
|
||||||
failed_ginkgo_node_logs_script: 'cat $CIRRUS_WORKING_DIR/test/e2e/ginkgo-node-*.log || echo "Ginkgo node logs not found"'
|
|
||||||
failed_df_script: '${DFCMD}'
|
|
||||||
failed_audit_log_script: 'cat /var/log/audit/audit.log || cat /var/log/kern.log || echo "Uh oh, cat audit.log failed"'
|
|
||||||
failed_journalctl_b_script: 'journalctl -b || echo "Uh oh, journalctl -b failed"'
|
|
||||||
|
|
||||||
|
|
||||||
# Build new cache-images for future PR testing, but only after a PR merge.
|
# Build new cache-images for future PR testing, but only after a PR merge.
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source $(dirname $0)/lib.sh
|
||||||
|
|
||||||
|
req_env_var CIRRUS_WORKING_DIR OS_RELEASE_ID
|
||||||
|
|
||||||
|
# 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 ;;
|
||||||
|
*) die 1 "Warning, $(basename $0) doesn't know how to handle the parameter '$1'"
|
||||||
|
esac
|
Loading…
Reference in New Issue