usage="Script to prepare the Functest environment.
usage:
- bash $(basename "$0") [--offline] [-h|--help] [-t <test_name>]
+ bash $(basename "$0") [-h|--help] [-t <test_name>]
where:
- -o|--offline optional offline mode (experimental)
-h|--help show this help text
examples:
- $(basename "$0")
- $(basename "$0") --offline"
+ $(basename "$0")"
-offline=false
# Parse parameters
while [[ $# > 0 ]]
exit 0
shift
;;
- -o|--offline)
- offline=true
- ;;
*)
error "unknown option $1"
exit 1
BASEDIR=`dirname $0`
source ${BASEDIR}/common.sh
-# Support for Functest offline
-# NOTE: Still not 100% working when running the tests
+debug=""
+if [[ "${CI_DEBUG,,}" == "true" ]];then
+ debug="--debug"
+fi
+
info "######### Preparing Functest environment #########"
-if [ $offline == false ]; then
- info "MODE: online"
-else
- info "MODE: offline"
-fi
# definition of available installer names
INSTALLERS=(fuel compass apex joid)
fi
-if [ $offline == false ]; then
- # Update repos
- 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}
- if [ ${RALLY_BRANCH} != "master" ]; then
- info "Rally repo: checkout ${RALLY_BRANCH} branch..."
- git checkout ${RALLY_BRANCH}
- fi
- info "Rally repo: pulling to latest..."
- git pull
- # We leave the reset command for later.
-
- info "Updating vIMS test repository...."
- cd ${VIMS_REPO_DIR}
- if [ ${VIMS_BRANCH} != "stable" ]; then
- info "Releng repo: checkout ${VIMS_TEST_BRANCH} branch..."
- git checkout ${VIMS_BRANCH}
- fi
- info "vIMS test repo: pulling to latest..."
- git pull
- if [ ${VIMS_COMMIT} != "latest" ]; then
- info "vIMS test repo: given commit is ${VIMS_TEST_COMMIT}. Reseting..."
- git reset --hard ${VIMS_COMMIT}
- fi
-
- info "Updating BGPVPN repository...."
- cd ${BGPVPN_REPO_DIR}
- if [ ${BGPVPN_BRANCH} != "master" ]; then
- info "BGPVPN repo: checkout ${BGPVPN_BRANCH} branch..."
- git checkout ${BGPVPN_BRANCH}
- fi
- info "BGPVPN repo: pulling to latest..."
- git pull
- if [ ${BGPVPN_COMMIT} != "latest" ]; then
- info "BGPVPN repo: given commit is ${BGPVPN_COMMIT}. Reseting..."
- git reset --hard ${BGPVPN_COMMIT}
- fi
-
- info "Updating ONOS repository...."
- cd ${ONOS_REPO_DIR}
- if [ ${ONOS_BRANCH} != "master" ]; then
- info "ONOS repo: checkout ${ONOS} branch..."
- git checkout ${ONOS_BRANCH}
- fi
- info "ONOS repo: pulling to latest..."
- git pull
- if [ ${ONOS_COMMIT} != "latest" ]; then
- info "ONOS repo: given commit is ${ONOS_COMMIT}. Reseting..."
- git reset --hard ${ONOS_COMMIT}
- fi
-
- info "Updating PROMISE repository...."
- cd ${PROMISE_REPO_DIR}
- if [ ${PROMISE_BRANCH} != "master" ]; then
- info "PROMISE repo: checkout ${PROMISE} branch..."
- git checkout ${PROMISE_BRANCH}
- fi
- info "PROMISE repo: pulling to latest..."
- git pull
- if [ ${PROMISE_COMMIT} != "latest" ]; then
- info "PROMISE repo: given commit is ${PROMISE_COMMIT}. Reseting..."
- git reset --hard ${PROMISE_COMMIT}
- fi
-
- info "Updating OVNO repository...."
- cd ${OVNO_REPO_DIR}
- if [ ${OVNO_BRANCH} != "master" ]; then
- info "OVNO repo: checkout ${OVNO} branch..."
- git checkout ${OVNO_BRANCH}
- fi
- info "OVNO repo: pulling to latest..."
- git pull
- if [ ${OVNO_COMMIT} != "latest" ]; then
- info "OVNO repo: given commit is ${OVNO_COMMIT}. Reseting..."
- git reset --hard ${OVNO_COMMIT}
- fi
-
-fi
-
-# We do this regardless if its online or offline mode.
-# Assumption: the docker image contains a newer rally repo than the given commit.
-if [ ${RALLY_COMMIT} != "latest" ]; then
- cd ${RALLY_REPO_DIR}
- info "Rally repo: given commit is ${RALLY_COMMIT}. Reseting..."
- git reset --hard ${RALLY_COMMIT}
-fi
-
-# IMPORTANT: To be removed when version 0.2.1 is out
-git config --global user.email "functest@opnfv.com"
-git config --global user.name "opnfv/functest"
-git fetch https://review.openstack.org/openstack/rally refs/changes/06/270506/9 && git cherry-pick FETCH_HEAD
-
-
# Create directories
mkdir -p ${FUNCTEST_CONF_DIR}
mkdir -p ${FUNCTEST_DATA_DIR}
mkdir -p ${FUNCTEST_RESULTS_DIR}/ODL
-
# Create Openstack credentials file
-if [ ! -f ${FUNCTEST_CONF_DIR}/openstack.creds ]; then
- ${REPOS_DIR}/releng/utils/fetch_os_creds.sh -d ${FUNCTEST_CONF_DIR}/openstack.creds \
+# $creds is an env varialbe in the docker container pointing to
+# /home/opnfv/functest/conf/openstack.creds
+if [ ! -f ${creds} ]; then
+ ${REPOS_DIR}/releng/utils/fetch_os_creds.sh -d ${creds} \
-i ${INSTALLER_TYPE} -a ${INSTALLER_IP}
retval=$?
if [ $retval != 0 ]; then
else
info "OpenStack credentials file given to the docker and stored in ${FUNCTEST_CONF_DIR}/openstack.creds."
fi
+
+# If we use SSL, by default use option OS_INSECURE=true which means that
+# the cacert will be self-signed
+if grep -Fq "OS_CACERT" ${creds}; then
+ echo "OS_INSECURE=true">>${creds};
+fi
+
# Source credentials
-source ${FUNCTEST_CONF_DIR}/openstack.creds
+source ${creds}
# Check OpenStack
info "Checking that the basic OpenStack services are functional..."
# Prepare Functest Environment
info "Preparing Functest environment..."
-python ${FUNCTEST_REPO_DIR}/testcases/config_functest.py --debug start
+python ${FUNCTEST_REPO_DIR}/testcases/config_functest.py $debug start
retval=$?
if [ $retval != 0 ]; then
error "Error when configuring Functest environment"
# Generate OpenStack defaults
info "Generating OpenStack defaults..."
-python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/generate_defaults.py -d
-
+python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/generate_defaults.py $debug
ifconfig eth0 mtu 1450