rally/tests/ci/rally-verify.sh
Sergey Skripnick a1faa4a089 Support jinja2 in rally.ui.utils
Use pkgutil to get base templates path.
Move ci templates to rally.ui package.
Remove cli functionality and use rally.ui directly in CI code.

Change-Id: If88ba2ed851eb9796ef5fae84398b1c185dbab0c
2015-11-04 14:11:09 +02:00

112 lines
3.5 KiB
Bash
Executable File

#!/bin/bash -ex
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compli$OUT with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# This script is executed by post_test_hook function in desvstack gate.
RESULTS_DIR="rally-verify"
env
set -o pipefail
set +e
mkdir -p ${RESULTS_DIR}/extra
# Check deployment
rally deployment use --deployment devstack
rally deployment check
function do_status {
if [[ ${1} != 0 ]]
then
echo "fail"
else
echo "pass"
fi
}
declare -a RESULTS
rally --rally-debug verify install > ${RESULTS_DIR}/tempest_installation.txt 2>&1
RESULTS+="install=$(do_status $?) "
rally --rally-debug verify genconfig > ${RESULTS_DIR}/tempest_config_generation.txt 2>&1
RESULTS+="genconfig=$(do_status $?) "
rally --rally-debug verify showconfig > ${RESULTS_DIR}/tempest_config.txt 2>&1
RESULTS+="showconfig=$(do_status $?) "
gzip -9 ${RESULTS_DIR}/tempest_installation.txt
gzip -9 ${RESULTS_DIR}/tempest_config_generation.txt
gzip -9 ${RESULTS_DIR}/tempest_config.txt
function do_verification {
OUTPUT_FILE=${RESULTS_DIR}/${1}_verification_${2}_set.txt
rally --rally-debug verify start --set ${2} > ${OUTPUT_FILE} 2>&1
RESULTS+="v${1}=$(do_status $?) "
gzip -9 ${OUTPUT_FILE}
source ~/.rally/globals && VERIFICATIONS[${1}]=${RALLY_VERIFICATION}
# Check different "rally verify" commands, which displays verification results
for OUTPUT_FORMAT in "html" "json"
do
OUTPUT_FILE=${RESULTS_DIR}/${1}_verify_results_${2}_set.${OUTPUT_FORMAT}
rally verify results --uuid ${RALLY_VERIFICATION} --${OUTPUT_FORMAT} --output-file ${OUTPUT_FILE}
RESULTS+="vr_${1}_${OUTPUT_FORMAT}=$(do_status $?) "
gzip -9 ${OUTPUT_FILE}
done
rally verify show --uuid ${RALLY_VERIFICATION} > ${RESULTS_DIR}/${1}_verify_show_${2}_set.txt
RESULTS+="vs_${1}=$(do_status $?) "
gzip -9 ${RESULTS_DIR}/${1}_verify_show_${2}_set.txt
rally verify show --uuid ${RALLY_VERIFICATION} --detailed > ${RESULTS_DIR}/${1}_verify_show_${2}_set_detailed.txt
RESULTS+="vsd_${1}=$(do_status $?) "
gzip -9 ${RESULTS_DIR}/${1}_verify_show_${2}_set_detailed.txt
}
function main {
do_verification 1 compute
do_verification 2 compute
rally verify list > ${RESULTS_DIR}/verify_list.txt
RESULTS+="l=$(do_status $?) "
gzip -9 ${RESULTS_DIR}/verify_list.txt
# Compare and save results in different formats
for OUTPUT_FORMAT in "csv" "html" "json"
do
OUTPUT_FILE=${RESULTS_DIR}/compare_results.${OUTPUT_FORMAT}
rally --rally-debug verify compare --uuid-1 ${VERIFICATIONS[1]} --uuid-2 ${VERIFICATIONS[2]} --${OUTPUT_FORMAT} --output-file ${OUTPUT_FILE}
RESULTS+="c_${OUTPUT_FORMAT}=$(do_status $?) "
gzip -9 ${OUTPUT_FILE}
done
python $BASE/new/rally/tests/ci/render.py ci/index_verify.mako \
${RESULTS[*]}> ${RESULTS_DIR}/extra/index.html
if [[ ${RESULTS[*]} == *"fail"* ]]
then
return 1
fi
RESULT_USE=$(rally verify use --verification ${VERIFICATIONS[1]})
if [ "$RESULT_USE" != "Verification UUID: ${VERIFICATIONS[1]}" ]
then
return 1
fi
}
main "$@"