diff options
author | jose.lausuch <jose.lausuch@ericsson.com> | 2015-10-21 11:06:43 +0200 |
---|---|---|
committer | jose.lausuch <jose.lausuch@ericsson.com> | 2015-10-21 13:50:02 +0200 |
commit | 73c8f0a8ed1d6b18356d52a3ce6d3638c2c91ad3 (patch) | |
tree | c2249fc511c98b2463f2fa0ce1629dd20d24ad44 /docker/run_tests.sh | |
parent | 62b213816e46d66125904be73bad2c3ebca09c3b (diff) |
Refactor Functest docker container
1. start.sh has been splitted into 2 scripts:
- prepare_env.sh : installs functest environment
without running any test
- run_tests.sh : run the Functest tests
2. Add possibility to give the config_functest.yaml
in the docker run command. So far, it has always
been used the default in the repo.
3. Possible to give the repos the branch and commit ID
to be checkout/reset to. This allows versioning control
for the repos
4. Added -x permissions to shell scripts
JIRA: FUNCTEST-29
Change-Id: If4b779f5baa37531603955db3681e24a5e08251a
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
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 000000000..ef3125fc3 --- /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 |