diff options
-rw-r--r-- | docker/Dockerfile | 10 | ||||
-rwxr-xr-x | docker/common.sh | 79 | ||||
-rw-r--r-- | docker/demo.sh | 143 | ||||
-rwxr-xr-x | docker/prepare_env.sh | 116 | ||||
-rwxr-xr-x | docker/run_tests.sh | 97 | ||||
-rw-r--r-- | docker/start.sh | 146 | ||||
-rwxr-xr-x | testcases/config_functest.py | 17 | ||||
-rw-r--r-- | testcases/config_functest.yaml | 11 |
8 files changed, 309 insertions, 310 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index f1a28027..95ef22b5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -9,9 +9,14 @@ # $ docker build -t opnfv/functest:tag . # # Execution: -# $ docker run -t -i -e "INSTALLER_TYPE=fuel/foreman" \ -# -e "INSTALLER_IP=10.20.0.2/172.30.10.73" opnfv/functest +# $ docker run -t -i \ +# -e "INSTALLER_TYPE=fuel/foreman" \ +# -e "INSTALLER_IP=10.20.0.2/172.30.10.73" \ +# -v $(pwd)/config_functest.yaml:/home/opnfv/functest/conf/config_functest.yaml +# opnfv/functest /bin/bash # +# NOTE: providing config_functest.yaml is optional. If not provided, it will +# use the default one located in the repo FROM ubuntu:14.04 @@ -49,4 +54,3 @@ RUN git clone https://gerrit.opnfv.org/gerrit/releng ${repos_dir}/releng RUN git clone https://github.com/openstack/rally.git ${repos_dir}/rally RUN pip install -r ${repos_dir}/functest/docker/requirements.pip -RUN chmod 744 ${repos_dir}/functest/docker/start.sh
\ No newline at end of file diff --git a/docker/common.sh b/docker/common.sh new file mode 100755 index 00000000..42b7d3e0 --- /dev/null +++ b/docker/common.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +# +# Author: Jose Lausuch (jose.lausuch@ericsson.com) +# +# Installs the Functest framework within the Docker container +# and run the tests automatically +# +# If config_functest.yaml is given by the docker run command, +# it must be run like this: +# +# docker run -ti \ +# -e "INSTALLER_TYPE=<something>" \ +# -e "INSTALLER_IP=<ip>" \ +# -v $(pwd)/config_functest.yaml:/home/opnfv/functest/conf/config_functest.yaml \ +# opnfv/functest /bin/bash +# +# NOTE: $(pwd)/config_functest.yaml means that it will take the one in the +# current directory. +# +# If it is not provided, take the existing one in the functest repo +# +config_file=/home/opnfv/functest/conf/config_functest.yaml +if [ ! -f ${config_file} ]; then + config_file=$(find / -name config_functest.yaml) +fi + +# Parse config_functest.yaml file +# TODO: this is not the best way to parse a yaml file in bash... + +# Directories +REPOS_DIR=$(cat $config_file | grep -w dir_repos | awk 'END {print $NF}') +FUNCTEST_REPO_DIR=$(cat $config_file | grep -w dir_repo_functest | awk 'END {print $NF}') +RALLY_REPO_DIR=$(cat $config_file | grep -w dir_repo_rally | awk 'END {print $NF}') +RELENG_REPO_DIR=$(cat $config_file | grep -w dir_repo_releng | awk 'END {print $NF}') + +FUNCTEST_DIR=$(cat $config_file | grep -w dir_functest | awk 'END {print $NF}') +FUNCTEST_RESULTS_DIR=$(cat $config_file | grep -w dir_results | awk 'END {print $NF}') +FUNCTEST_CONF_DIR=$(cat $config_file | grep -w dir_functest_conf | awk 'END {print $NF}') +FUNCTEST_DATA_DIR=$(cat $config_file | grep -w dir_functest_data | awk 'END {print $NF}') +RALLY_VENV_DIR=$(cat $config_file | grep -w dir_rally_inst | awk 'END {print $NF}') + +# Repos +RALLY_BRANCH=$(cat $config_file | grep -w rally_branch | awk 'END {print $NF}') +RALLY_COMMIT=$(cat $config_file | grep -w rally_commit | awk 'END {print $NF}') +FUNCTEST_BRANCH=$(cat $config_file | grep -w functest_branch | awk 'END {print $NF}') +FUNCTEST_COMMIT=$(cat $config_file | grep -w functest_commit | awk 'END {print $NF}') +RELENG_BRANCH=$(cat $config_file | grep -w releng_branch | awk 'END {print $NF}') +RELENG_COMMIT=$(cat $config_file | grep -w releng_commit | awk 'END {print $NF}') + +echo "_____Parsed needed data from ${config_file}:" +echo "####### Directories #######" +echo "REPOS_DIR=${REPOS_DIR}" +echo "FUNCTEST_REPO_DIR=${FUNCTEST_REPO_DIR}" +echo "RALLY_REPO_DIR=${RALLY_REPO_DIR}" +echo "RELENG_REPO_DIR=${RELENG_REPO_DIR}" +echo "FUNCTEST_DIR=${FUNCTEST_DIR}" +echo "FUNCTEST_RESULTS_DIR=${FUNCTEST_RESULTS_DIR}" +echo "FUNCTEST_CONF_DIR=${FUNCTEST_CONF_DIR}" +echo "FUNCTEST_DATA_DIR=${FUNCTEST_DATA_DIR}" +echo "RALLY_VENV_DIR=${RALLY_VENV_DIR}" +echo "####### Repositories #######" +echo "FUNCTEST_BRANCH=${FUNCTEST_BRANCH}" +echo "FUNCTEST_COMMIT=${FUNCTEST_COMMIT}" +echo "RELENG_BRANCH=${RELENG_BRANCH}" +echo "RELENG_COMMIT=${RELENG_COMMIT}" +echo "RALLY_BRANCH=${RALLY_BRANCH}" +echo "RALLY_COMMIT=${RALLY_COMMIT}" +echo "############################" + +info () { + logger -s -t "FUNCTEST.info" "$*" +} + + +error () { + logger -s -t "FUNCTEST.error" "$*" + exit 1 +} diff --git a/docker/demo.sh b/docker/demo.sh deleted file mode 100644 index 4207810e..00000000 --- a/docker/demo.sh +++ /dev/null @@ -1,143 +0,0 @@ -#!/bin/bash - -# -# Author: Jose Lausuch (jose.lausuch@ericsson.com) -# -# Installs the Functest framework within the Docker container -# and run the tests automatically -# -# DO NOT USE FOR PRODUCTION. -# Changes: -# It runs only 1 Rally bench scenario -# - - -config_file=$(find / -name config_functest.yaml) - -REPOS_DIR=$(cat $config_file | grep -w dir_repos | awk 'END {print $NF}') -FUNCTEST_REPO_DIR=$(cat $config_file | grep -w dir_repo_functest | awk 'END {print $NF}') -RALLY_REPO_DIR=$(cat $config_file | grep -w dir_repo_rally | awk 'END {print $NF}') -RELENG_REPO_DIR=$(cat $config_file | grep -w dir_repo_releng | awk 'END {print $NF}') - -FUNCTEST_DIR=$(cat $config_file | grep -w dir_functest | awk 'END {print $NF}') -FUNCTEST_RESULTS_DIR=$(cat $config_file | grep -w dir_results | awk 'END {print $NF}') -FUNCTEST_CONF_DIR=$(cat $config_file | grep -w dir_functest_conf | awk 'END {print $NF}') -FUNCTEST_DATA_DIR=$(cat $config_file | grep -w dir_functest_data | awk 'END {print $NF}') -RALLY_VENV=$(cat $config_file | grep -w dir_rally_inst | awk 'END {print $NF}') -RALLY_COMMIT=$(cat $config_file | grep -w rally_stable_commit | awk 'END {print $NF}') - - -info () { - logger -s -t "start.info" "$*" -} - - -error () { - logger -s -t "start.error" "$*" - exit 1 -} - -# Check if environment variables are set -if [ -z ${INSTALLER_TYPE} ]; then - error "Environment variable 'INSTALLER_TYPE' is not defined." -elif [ "${INSTALLER_TYPE}" != "fuel" ] && [ "${INSTALLER_TYPE}" != "foreman" ]; then - error "Invalid environment variable INSTALLER_TYPE=${INSTALLER_TYPE}" -fi - -if [ -z ${INSTALLER_IP} ]; then - error "Environment variable 'INSTALLER_IP' is not defined." -fi - -echo "#############################################" -echo "############### FUNCTEST DEMO ###############" -echo "#############################################" - -# Update repos -echo "---------- Updating repositories ----------" -cd ${FUNCTEST_REPO_DIR} -git pull -echo "Functest repository updated." -cd ${RELENG_REPO_DIR} -git pull -echo "Releng repository updated." -cd ${RALLY_REPO_DIR} -git reset --hard ${RALLY_COMMIT} -echo "Rally repository reset to commit ${RALLY_COMMIT}." - - -# Create directories -echo "---------- Creating directories ----------" -mkdir -p ${FUNCTEST_CONF_DIR} -echo "${FUNCTEST_CONF_DIR} created." -mkdir -p ${FUNCTEST_DATA_DIR} -echo "${FUNCTEST_DATA_DIR} created." -mkdir -p ${FUNCTEST_RESULTS_DIR}/ODL -echo "${FUNCTEST_RESULTS_DIR}/ODL created." - - - -# Create Openstack credentials file -echo "---------- Retrieving Credentials from Fuel ----------" -${REPOS_DIR}/releng/utils/fetch_os_creds.sh -d ${FUNCTEST_CONF_DIR}/openstack.creds \ - -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -retval=$? -if [ $retval != 0 ]; then - echo "Cannot retrieve credentials file from installation. Check logs." - exit $retval -fi -echo "Credentials succesfully stored in ${FUNCTEST_CONF_DIR}/openstack.creds" - -# Source credentials -echo "---------- Sourcing Openstack Credentials ----------" -source ${FUNCTEST_CONF_DIR}/openstack.creds - - -# Prepare Functest Environment -echo "---------- Preparing Functest environment ----------" -python ${FUNCTEST_REPO_DIR}/testcases/config_functest.py --debug ${FUNCTEST_REPO_DIR}/ start -retval=$? -if [ $retval != 0 ]; then - echo "Error when configuring Functest environment" - exit $retval -fi - -# vPing -echo "----------------------------------------------" -echo "---------- Running vPING test case ----------" -echo "----------------------------------------------" -python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing.py --debug ${FUNCTEST_REPO_DIR}/ -r - -# ODL -echo "----------------------------------------------" -echo "---------- Running ODL test case ----------" -echo "----------------------------------------------" -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 - echo "INSTALLER_TYPE not valid." - exit 1 -fi - -# rally -echo "----------------------------------------------" -echo "------- Running Rally bench test case -------" -echo "----------------------------------------------" -echo "Functest: run Functest Rally Bench suites" -python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally.py --debug ${FUNCTEST_REPO_DIR}/ glance - -# tempest -echo "----------------------------------------------" -echo "-------- Running Tempest smoke tests --------" -echo "----------------------------------------------" -echo "Functest: run Tempest suite" -rally verify start smoke -rally verify list diff --git a/docker/prepare_env.sh b/docker/prepare_env.sh new file mode 100755 index 00000000..eaa9b4f0 --- /dev/null +++ b/docker/prepare_env.sh @@ -0,0 +1,116 @@ +#!/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 + +# Support for Functest offline +# NOTE: Still not 100% working when running the tests +offline=false +if [ ! -z "$1" ] && [ $1 == "--offline" ]; then + offline=true +fi + +info "######### Preparing Functest environment #########" +if [ $offline == false ]; then + info "MODE: online" +else + info "MODE: offline" +fi + + +# Check if environment variables are set +info "Checking environment variables INSTALLER_TYPE and INSTALLER_IP" +if [ -z ${INSTALLER_TYPE} ]; then + error "Environment variable 'INSTALLER_TYPE' is not defined." +elif [ "${INSTALLER_TYPE}" != "fuel" ] && [ "${INSTALLER_TYPE}" != "foreman" ]; then + error "Invalid environment variable INSTALLER_TYPE=${INSTALLER_TYPE}" +fi +info "INSTALLER_TYPE env variable found: ${INSTALLER_TYPE}" + +if [ -z ${INSTALLER_IP} ]; then + error "Environment variable 'INSTALLER_IP' is not defined." +fi +info "INSTALLER_IP env variable found: ${INSTALLER_IP}" + + +if [ $offline == false ]; then + # Update repos + info "Updating Functest repository...." + cd ${FUNCTEST_REPO_DIR} + if [ ${FUNCTEST_BRANCH} != "master" ]; then + info "Functest repo: checkout ${FUNCTEST_BRANCH} branch..." + git checkout ${FUNCTEST_BRANCH} + fi + info "Functest repo: pulling to latest..." + git pull + if [ ${FUNCTEST_COMMIT} != "latest" ]; then + info "Functest repo: given commit is ${FUNCTEST_COMMIT}. Reseting..." + git reset --hard ${FUNCTEST_COMMIT} + fi + + info "Updating Releng repository...." + cd ${RELENG_REPO_DIR} + if [ ${RELENG_BRANCH} != "master" ]; then + info "Releng repo: checkout ${RELENG_BRANCH} branch..." + git checkout ${RELENG_BRANCH} + fi + info "Releng repo: pulling to latest..." + git pull + if [ ${RELENG_COMMIT} != "latest" ]; then + info "Releng repo: given commit is ${RELENG_COMMIT}. Reseting..." + git reset --hard ${RELENG_COMMIT} + fi + + info "Updating Rally repository...." + cd ${RALLY_REPO_DIR} + info "Rally repo: pulling to latest..." + git pull +fi + +# We do this regardless if its online or offline mode. +if [ ${RALLY_COMMIT} != "latest" ]; then + info "Rally repo: given commit is ${RALLY_COMMIT}. Reseting..." + git reset --hard ${RALLY_COMMIT} +fi + + +# Create directories +mkdir -p ${FUNCTEST_CONF_DIR} +mkdir -p ${FUNCTEST_DATA_DIR} +mkdir -p ${FUNCTEST_RESULTS_DIR}/ODL + +# Detect type of installer +# NOTE: this is tricky, since the IPs will have to be the same ALWAYS + + +# Create Openstack credentials file +${REPOS_DIR}/releng/utils/fetch_os_creds.sh -d ${FUNCTEST_CONF_DIR}/openstack.creds \ + -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} +retval=$? +if [ $retval != 0 ]; then + echo "Cannot retrieve credentials file from installation. Check logs." + exit $retval +fi + + +# Source credentials +source ${FUNCTEST_CONF_DIR}/openstack.creds + + +# Prepare Functest Environment +echo "Functest: prepare Functest environment" +python ${FUNCTEST_REPO_DIR}/testcases/config_functest.py --debug ${FUNCTEST_REPO_DIR}/ start +retval=$? +if [ $retval != 0 ]; then + echo "Error when configuring Functest environment" + exit $retval +fi + +echo "1" > ${FUNCTEST_CONF_DIR}/env_active 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 diff --git a/docker/start.sh b/docker/start.sh deleted file mode 100644 index 60a21d1f..00000000 --- a/docker/start.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/bash - -# -# Author: Jose Lausuch (jose.lausuch@ericsson.com) -# -# Installs the Functest framework within the Docker container -# and run the tests automatically -# - - -config_file=$(find / -name config_functest.yaml) - -REPOS_DIR=$(cat $config_file | grep -w dir_repos | awk 'END {print $NF}') -FUNCTEST_REPO_DIR=$(cat $config_file | grep -w dir_repo_functest | awk 'END {print $NF}') -RALLY_REPO_DIR=$(cat $config_file | grep -w dir_repo_rally | awk 'END {print $NF}') -RELENG_REPO_DIR=$(cat $config_file | grep -w dir_repo_releng | awk 'END {print $NF}') - -FUNCTEST_DIR=$(cat $config_file | grep -w dir_functest | awk 'END {print $NF}') -FUNCTEST_RESULTS_DIR=$(cat $config_file | grep -w dir_results | awk 'END {print $NF}') -FUNCTEST_CONF_DIR=$(cat $config_file | grep -w dir_functest_conf | awk 'END {print $NF}') -FUNCTEST_DATA_DIR=$(cat $config_file | grep -w dir_functest_data | awk 'END {print $NF}') -RALLY_VENV=$(cat $config_file | grep -w dir_rally_inst | awk 'END {print $NF}') -RALLY_COMMIT=$(cat $config_file | grep -w rally_stable_commit | awk 'END {print $NF}') - - -echo "REPOS_DIR=${REPOS_DIR}" -echo "FUNCTEST_REPO_DIR=${FUNCTEST_REPO_DIR}" -echo "RALLY_REPO_DIR=${RALLY_REPO_DIR}" -echo "RELENG_REPO_DIR=${RELENG_REPO_DIR}" -echo "FUNCTEST_DIR=${FUNCTEST_DIR}" -echo "FUNCTEST_RESULTS_DIR=${FUNCTEST_RESULTS_DIR}" -echo "FUNCTEST_CONF_DIR=${FUNCTEST_CONF_DIR}" -echo "FUNCTEST_DATA_DIR=${FUNCTEST_DATA_DIR}" -echo "RALLY_VENV=${RALLY_VENV}" -echo "RALLY_COMMIT=${RALLY_COMMIT}" - - -info () { - logger -s -t "start.info" "$*" -} - - -error () { - logger -s -t "start.error" "$*" - exit 1 -} - -# Check if environment variables are set -if [ -z ${INSTALLER_TYPE} ]; then - error "Environment variable 'INSTALLER_TYPE' is not defined." -elif [ "${INSTALLER_TYPE}" != "fuel" ] && [ "${INSTALLER_TYPE}" != "foreman" ]; then - error "Invalid environment variable INSTALLER_TYPE=${INSTALLER_TYPE}" -fi - -if [ -z ${INSTALLER_IP} ]; then - error "Environment variable 'INSTALLER_IP' is not defined." -fi - - -# Update repos -cd ${FUNCTEST_REPO_DIR} -git pull -cd ${RELENG_REPO_DIR} -git pull -cd ${RALLY_REPO_DIR} -git reset --hard ${RALLY_COMMIT} - - -# Create directories -mkdir -p ${FUNCTEST_CONF_DIR} -mkdir -p ${FUNCTEST_DATA_DIR} -mkdir -p ${FUNCTEST_RESULTS_DIR}/ODL - -# Detect type of installer -# NOTE: this is tricky, since the IPs will have to be the same ALWAYS - - -# Create Openstack credentials file -${REPOS_DIR}/releng/utils/fetch_os_creds.sh -d ${FUNCTEST_CONF_DIR}/openstack.creds \ - -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -retval=$? -if [ $retval != 0 ]; then - echo "Cannot retrieve credentials file from installation. Check logs." - exit $retval -fi - - -# Source credentials -source ${FUNCTEST_CONF_DIR}/openstack.creds - - -# Prepare Functest Environment -echo "Functest: prepare Functest environment" -python ${FUNCTEST_REPO_DIR}/testcases/config_functest.py --debug ${FUNCTEST_REPO_DIR}/ start -retval=$? -if [ $retval != 0 ]; then - echo "Error when configuring Functest environment" - exit $retval -fi - -# vPing -echo "Functest: run vPing" -python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing.py --debug ${FUNCTEST_REPO_DIR}/ -r - -# ODL -echo "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 - echo "INSTALLER_TYPE not valid." - exit 1 -fi - -# rally -echo "Functest: run Functest Rally Bench suites" -python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally.py --debug ${FUNCTEST_REPO_DIR}/ all - -# tempest -echo "Functest: run Tempest suite" -rally verify start smoke -rally verify list - -# collect results -echo "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}/tempest/for-deployment-*/tempest.conf" -if [ -f ${tempest_conf} ]; then - cp $tempest_conf ${FUNCTEST_CONF_DIR} -fi
\ No newline at end of file diff --git a/testcases/config_functest.py b/testcases/config_functest.py index 507e2469..c509d3d1 100755 --- a/testcases/config_functest.py +++ b/testcases/config_functest.py @@ -89,13 +89,6 @@ def action_start(): logger.debug("Cleaning possible functest environment leftovers.") action_clean() - - logger.info("Installing ODL environment...") - if not install_odl(): - logger.error("There has been a problem while installing Robot.") - action_clean() - exit(-1) - logger.info("Starting installation of functest environment") logger.info("Installing Rally...") if not install_rally(): @@ -308,16 +301,6 @@ def check_rally(): return False -def install_odl(): - cmd = "chmod +x " + ODL_DIR + "start_tests.sh" - functest_utils.execute_command(cmd,logger) - cmd = "chmod +x " + ODL_DIR + "create_venv.sh" - functest_utils.execute_command(cmd,logger) - cmd = ODL_DIR + "create_venv.sh" - functest_utils.execute_command(cmd,logger) - return True - - def create_glance_image(path,name,disk_format): """ diff --git a/testcases/config_functest.yaml b/testcases/config_functest.yaml index 46fae91e..92eb769e 100644 --- a/testcases/config_functest.yaml +++ b/testcases/config_functest.yaml @@ -21,11 +21,20 @@ general: dir_vIMS_data: /home/opnfv/functest/data/vIMS dir_rally_inst: ~/.rally + repositories: + # branch and commit ID to which the repos will be reset (HEAD) + functest_branch: master + functest_commit: latest + releng_branch: master + releng_commit: latest + rally_branch: master + rally_commit: 9a17d8490e7fb4afee2f5629e6db41eabe4bc4d4 + openstack: image_name: functest-img image_url: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img image_disk_format: qcow2 - rally_stable_commit: 9a17d8490e7fb4afee2f5629e6db41eabe4bc4d4 + #Public network. Optional neutron_public_net_name: net04_ext |