Add subunit output for total elapsed time

This commit adds a success output for the entire devstack run to the
subunit output. Ideally we wouldn't need this, but because we don't
have timing data for every single operation performed by devstack we
need to do this to track the total duration of the devstack run.

To capture failures this commit adds saving a devstack event when we
trip the exit_trap. This will save a similar result to the stream in
the successful case, but instead mark it as a failure.

Depends-On: Icc7df33e4d73ba6322af38fbdf3aea230f2fcf4d
Change-Id: I07112dde996c3e2c73f5aafc9b73d33d26374633
This commit is contained in:
Matthew Treinish 2015-10-13 09:51:17 -04:00
parent 2d9f777cc0
commit 4af2afcd52
No known key found for this signature in database
GPG Key ID: FD12A0F214C9E177
2 changed files with 11 additions and 0 deletions

View File

@ -42,6 +42,8 @@ if [[ -n "$NOUNSET" ]]; then
set -o nounset
fi
# Set start of devstack timestamp
DEVSTACK_START_TIME=$(date +%s)
# Configuration
# =============
@ -481,11 +483,14 @@ function exit_trap {
if [[ $r -ne 0 ]]; then
echo "Error on exit"
generate-subunit $DEVSTACK_START_TIME $SECONDS 'fail' >> ${SUBUNIT_OUTPUT}
if [[ -z $LOGDIR ]]; then
$TOP_DIR/tools/worlddump.py
else
$TOP_DIR/tools/worlddump.py -d $LOGDIR
fi
else
generate-subunit $DEVSTACK_START_TIME $SECONDS >> ${SUBUNIT_OUTPUT}
fi
exit $r
@ -710,6 +715,9 @@ if [[ "$OFFLINE" != "True" ]]; then
PYPI_ALTERNATIVE_URL=${PYPI_ALTERNATIVE_URL:-""} $TOP_DIR/tools/install_pip.sh
fi
# Install subunit for the subunit output stream
pip_install -U os-testr
TRACK_DEPENDS=${TRACK_DEPENDS:-False}
# Install Python packages into a virtualenv so that we can track them

View File

@ -29,6 +29,9 @@ DATA_DIR=${DEST}/data
# Destination for status files
SERVICE_DIR=${DEST}/status
# Path for subunit output file
SUBUNIT_OUTPUT=${DEST}/devstack.subunit
# Determine stack user
if [[ $EUID -eq 0 ]]; then
STACK_USER=stack