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.

This is backported from master branch to generate subunit result so
d-g can collect it from the new location.

Depends-On: Icc7df33e4d73ba6322af38fbdf3aea230f2fcf4d
Depends-On: I97a604ac08797909afc236401281a5d84b98d53f
Change-Id: I07112dde996c3e2c73f5aafc9b73d33d26374633
This commit is contained in:
Matthew Treinish 2015-10-13 09:51:17 -04:00 committed by Jerry Zhao
parent 0af343689e
commit d74f37e83e
2 changed files with 11 additions and 0 deletions

View File

@ -46,6 +46,8 @@ if [[ -n "$NOUNSET" ]]; then
set -o nounset
fi
# Set start of devstack timestamp
DEVSTACK_START_TIME=$(date +%s)
# Configuration
# =============
@ -458,11 +460,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
@ -684,6 +689,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_gr os-testr
TRACK_DEPENDS=${TRACK_DEPENDS:-False}
# Install Python packages into a virtualenv so that we can track them

View File

@ -17,6 +17,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