summaryrefslogtreecommitdiffstats
path: root/docker/run_tests.sh
diff options
context:
space:
mode:
authorjose.lausuch <jose.lausuch@ericsson.com>2016-05-04 11:47:40 +0200
committerjose.lausuch <jose.lausuch@ericsson.com>2016-05-04 14:35:07 +0200
commit6790e17eb7c1a3eaaccfe97ac90932e3c15eea6d (patch)
tree06697206e1323dd3acdce742a2e1e5d5bb4b232f /docker/run_tests.sh
parent7ad2ce42a2bc2c8dc17fbc9423da71a95fed4d87 (diff)
Refactor improvements
JIRA: FUNCTEST-190 - Deleted unnecessary old scripts - Fixed healtcheck logging - Moved config_functest.yaml to /ci/ - Created env var CONFIG_FUNCTEST_YAML pointing to that new location - Modified all scripts which open config_functest.yaml using the new env var Change-Id: Ic4f0e40a70c02ac08287a1d621956f602bdee177 Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
Diffstat (limited to 'docker/run_tests.sh')
-rwxr-xr-xdocker/run_tests.sh275
1 files changed, 0 insertions, 275 deletions
diff --git a/docker/run_tests.sh b/docker/run_tests.sh
deleted file mode 100755
index f51c9e194..000000000
--- a/docker/run_tests.sh
+++ /dev/null
@@ -1,275 +0,0 @@
-#!/bin/bash
-
-#
-# Author: Jose Lausuch (jose.lausuch@ericsson.com)
-# Morgan Richomme (morgan.richomme@orange.com)
-# Installs the Functest framework within the Docker container
-# and run the tests automatically
-#
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-
-usage="Script to trigger the tests automatically.
-
-usage:
- bash $(basename "$0") [-h|--help] [-t <test_name>]
-
-where:
- -h|--help show this help text
- -r|--report push results to database (false by default)
- -n|--no-clean do not clean OpenStack resources after test run
- -s|--serial run Tempest tests in one thread
- -t|--test run specific set of tests
- <test_name> one or more of the following separated by comma:
- healthcheck,vping_ssh,vping_userdata,odl,onos,
- tempest,rally,vims,promise,doctor
-
-
-examples:
- $(basename "$0")
- $(basename "$0") --test vping_ssh,odl
- $(basename "$0") -t tempest,rally"
-
-
-BASEDIR=`dirname $0`
-source ${BASEDIR}/common.sh
-
-report=""
-clean=true
-serial=false
-
-# Get the list of runnable tests
-# Check if we are in CI mode
-debug=""
-if [[ "${CI_DEBUG,,}" == "true" ]];then
- debug="--debug"
-fi
-
-function clean_openstack(){
- if [ $clean == true ]; then
- echo -e "\n"
- info "Cleaning Openstack environment..."
- python ${FUNCTEST_REPO_DIR}/utils/clean_openstack.py \
- $debug
- echo -e "\n"
- fi
-}
-
-function odl_tests(){
- keystone_ip=$(openstack catalog show identity |grep publicURL| cut -f3 -d"/" | cut -f1 -d":")
- # historically most of the installers use the same IP for neutron and keystone API
- neutron_ip=$keystone_ip
- odl_ip=$(openstack catalog show network | grep publicURL | cut -f3 -d"/" | cut -f1 -d":")
- usr_name=$(env | grep OS | grep OS_USERNAME | cut -f2 -d'=')
- password=$(env | grep OS | grep OS_PASSWORD | cut -f2 -d'=')
- odl_port=8181
- if [ $INSTALLER_TYPE == "fuel" ]; then
- odl_port=8282
- elif [ $INSTALLER_TYPE == "apex" ]; then
- :
- elif [ $INSTALLER_TYPE == "joid" ]; then
- odl_ip=$(env | grep SDN_CONTROLLER | cut -f2 -d'=')
- neutron_ip=$(openstack catalog show network | grep publicURL | cut -f3 -d"/" | cut -f1 -d":")
- odl_port=8080
- :
- elif [ $INSTALLER_TYPE == "compass" ]; then
- :
- else
- error "INSTALLER_TYPE not valid."
- exit 1
- fi
-}
-function run_test(){
- test_name=$1
- echo -e "\n\n\n\n"
- echo "----------------------------------------------"
- echo " Running test case: $i"
- echo "----------------------------------------------"
- echo ""
- clean_flag=""
- if [ $clean == "false" ]; then
- clean_flag="-n"
- fi
- serial_flag=""
- if [ $serial == "true" ]; then
- serial_flag="-s"
- fi
-
- case $test_name in
- "healthcheck")
- info "Running health check test..."
- ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/healthcheck.sh
- ;;
- "vping_ssh")
- info "Running vPing-SSH test..."
- python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing_ssh.py \
- $debug $report
- ;;
- "vping_userdata")
- info "Running vPing-userdata test... "
- python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing_userdata.py \
- $debug $report
- ;;
- "odl")
- info "Running ODL test..."
- odl_tests
- ODL_PORT=$odl_port ODL_IP=$odl_ip KEYSTONE_IP=$keystone_ip NEUTRON_IP=$neutron_ip USR_NAME=$usr_name PASS=$password \
- ${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/CI/start_tests.sh
-
- # push results to the DB in case of CI
- if [[ -n "$DEPLOY_SCENARIO" && "$DEPLOY_SCENARIO" != "none" ]]; then
- odl_logs="/home/opnfv/functest/results/odl/logs/2"
- odl_path="${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/CI"
- node_name=$(env | grep NODE_NAME | cut -f2 -d'=')
- python ${odl_path}/odlreport2db.py -x ${odl_logs}/output.xml -i ${INSTALLER_TYPE} -p ${node_name} -s ${DEPLOY_SCENARIO}
- fi
- ;;
- "tempest")
- info "Running Tempest tests..."
- python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_tempest.py \
- $debug $serial_flag $clean_flag -m smoke $report
- # 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
- ;;
- "vims")
- info "Running vIMS test..."
- python ${FUNCTEST_REPO_DIR}/testcases/vIMS/CI/vIMS.py \
- $debug $clean_flag $report
- ;;
- "rally")
- info "Running Rally benchmark suite..."
- python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py \
- $debug $clean_flag all $report
-
- ;;
- "bgpvpn")
- info "Running BGPVPN Tempest test case..."
- pushd ${repos_dir}/bgpvpn/
- pip install --no-deps -e .
- popd
- tempest_dir=$(ls -t /home/opnfv/.rally/tempest/ |grep for-deploy |tail -1)
- if [[ $tempest_dir == "" ]]; then
- error "Make sure tempest was running before"
- fi
- tempest_dir=/home/opnfv/.rally/tempest/$tempest_dir
- pushd $tempest_dir
- mkdir -p /etc/tempest/
- cp tempest.conf /etc/tempest/
- echo "[service_available]
-bgpvpn = True" >> /etc/tempest/tempest.conf
- ./run_tempest.sh -t -N -- networking_bgpvpn_tempest
- rm -rf /etc/tempest/tempest.conf
- popd
- ;;
- "onos")
- info "Running ONOS test case..."
- if [ $INSTALLER_TYPE == "joid" ]; then
- python ${FUNCTEST_REPO_DIR}/testcases/Controllers/ONOS/Teston/CI/onosfunctest.py -i joid
- else
- python ${FUNCTEST_REPO_DIR}/testcases/Controllers/ONOS/Teston/CI/onosfunctest.py
- fi
- ;;
- "promise")
- info "Running PROMISE test case..."
- python ${FUNCTEST_REPO_DIR}/testcases/features/promise.py $debug $report
- sleep 10 # to let the instances terminate
- ;;
- "doctor")
- info "Running Doctor test..."
- python ${FUNCTEST_REPO_DIR}/testcases/features/doctor.py
- ;;
- "ovno")
- info "Running OpenContrail test..."
- ${repos_dir}/ovno/Testcases/RunTests.sh
- ;;
- esac
-
- if [ $clean == "true" ]; then
- clean_openstack
- fi
-}
-
-
-# Parse parameters
-while [[ $# > 0 ]]
- do
- key="$1"
- case $key in
- -h|--help)
- echo "$usage"
- exit 0
- shift
- ;;
- -r|--report)
- report="-r"
- ;;
- -n|--no-clean)
- clean=false
- ;;
- -s|--serial)
- serial=true
- ;;
- -t|--test|--tests)
- TEST="$2"
- shift
- ;;
- *)
- echo "unknown option $1 $2"
- exit 1
- ;;
- esac
- shift # past argument or value
-done
-
-
-tests_file="/home/opnfv/functest/conf/testcase-list.txt"
-if [[ -n "$DEPLOY_SCENARIO" && "$DEPLOY_SCENARIO" != "none" ]] &&\
- [[ -f $tests_file ]]; then
- arr_test=($(cat $tests_file))
-else
- arr_test=(healthcheck vping_ssh vping_userdata tempest vims rally)
-fi
-
-
-info "Tests to be executed: ${arr_test[@]}"
-
-# Check that the given tests are correct
-if [ "${TEST}" != "" ]; then
- arr_test_exec=(${TEST//,/ })
- for i in "${arr_test_exec[@]}"; do
- if [[ " ${arr_test[*]} " != *" $i "* ]]; then
- error "Unknown test: $i. Available tests are: ${arr_test[@]}"
- fi
- done
- info "Tests to execute: ${TEST}."
-fi
-
-# Check that the functest environment has been installed
-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
-
-
-# Source credentials
-info "Sourcing Credentials ${FUNCTEST_CONF_DIR}/openstack.creds to run the tests.."
-source ${FUNCTEST_CONF_DIR}/openstack.creds
-
-# Run tests
-if [ "${TEST}" != "" ]; then
- for i in "${arr_test_exec[@]}"; do
- run_test $i
- done
-else
- info "Executing tests..."
- for i in "${arr_test[@]}"; do
- run_test $i
- done
-fi