summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/Dockerfile10
-rwxr-xr-xdocker/common.sh79
-rw-r--r--docker/demo.sh143
-rwxr-xr-xdocker/prepare_env.sh116
-rwxr-xr-xdocker/run_tests.sh97
-rw-r--r--docker/start.sh146
-rwxr-xr-xtestcases/config_functest.py17
-rw-r--r--testcases/config_functest.yaml11
8 files changed, 309 insertions, 310 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index f1a28027a..95ef22b5d 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 000000000..42b7d3e09
--- /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 4207810eb..000000000
--- 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 000000000..eaa9b4f00
--- /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 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
diff --git a/docker/start.sh b/docker/start.sh
deleted file mode 100644
index 60a21d1f6..000000000
--- 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 507e24696..c509d3d12 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 46fae91ed..92eb769e0 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