diff options
Diffstat (limited to 'docker/run_tests.sh')
-rwxr-xr-x | docker/run_tests.sh | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/docker/run_tests.sh b/docker/run_tests.sh new file mode 100755 index 00000000..ef3125fc --- /dev/null +++ b/docker/run_tests.sh @@ -0,0 +1,97 @@ +#!/bin/bash + +# +# Author: Jose Lausuch (jose.lausuch@ericsson.com) +# +# Installs the Functest framework within the Docker container +# and run the tests automatically +# + +BASEDIR=`dirname $0` +source ${BASEDIR}/common.sh + +if [ ! -f ${FUNCTEST_CONF_DIR}/env_active ]; then + error "The Functest environment is not installed. \ + Please run prepare_env.sh before running this script...." +fi + +# Support for Functest offline +# NOTE: Still not 100% working when running the tests +offline=false +if [ ! -z "$1" ] && [ $1 == "--offline" ]; then + offline=true +fi + + +# Source credentials +info "Sourcing Credentials ${FUNCTEST_CONF_DIR}/openstack.creds again to run the tests.." +source ${FUNCTEST_CONF_DIR}/openstack.creds + + +# vPing +echo "----------------------------------------------" +echo "---------- Running vPING test case ----------" +echo "----------------------------------------------" +info "Running vPing" +python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing.py --debug ${FUNCTEST_REPO_DIR}/ -r + + + +# ODL +echo "----------------------------------------------" +echo "----------- Running ODL test case -----------" +echo "----------------------------------------------" +info "Functest: run ODL suite" +if [ $INSTALLER_TYPE == "fuel" ]; then + odl_ip=$(keystone catalog --service network | grep publicURL | cut -f3 -d"/" | cut -f1 -d":") + neutron_ip=$(keystone catalog --service identity | grep publicURL | cut -f3 -d"/" | cut -f1 -d":") + usr_name=$(env | grep OS | grep OS_USERNAME | cut -f2 -d'=') + pass=$(env | grep OS | grep OS_PASSWORD | cut -f2 -d'=') + odl_port=8181 + ODL_PORT=$odl_port ODL_IP=$odl_ip NEUTRON_IP=$neutron_ip USR_NAME=$usr_name PASS=$pass \ + ${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/CI/start_tests.sh +elif [ $INSTALLER_TYPE == "foreman" ]; then + #odl_port=8081 + ${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/CI/start_tests.sh +else + error "INSTALLER_TYPE not valid." + exit 1 +fi + + + +# rally +echo "----------------------------------------------" +echo "--------- Running Rally bench suite ---------" +echo "----------------------------------------------" +info "Running Rally Bench suites" +python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally.py --debug ${FUNCTEST_REPO_DIR}/ all + + + +# tempest +echo "----------------------------------------------" +echo "-------- Running Tempest smoke tests --------" +echo "----------------------------------------------" +info "Running Tempest suite..." +rally verify start smoke +rally verify list + + + + +# collect results +# NOTE: To be removed when all the resuls are pushed to the DB +info "Functest: copy results and clean Functest environment" + +# save ODL results +odl_logs="${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/CI/logs" +if [ -d ${tempest_conf} ]; then + cp -Rf ${odl_logs} ${FUNCTEST_CONF_DIR}/ODL/ +fi + +# save tempest.conf for further troubleshooting +tempest_conf="${RALLY_VENV_DIR}/tempest/for-deployment-*/tempest.conf" +if [ -f ${tempest_conf} ]; then + cp $tempest_conf ${FUNCTEST_CONF_DIR} +fi |