X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=docker%2Fprepare_env.sh;h=4106e3bde7cc57c4143988b0bdbaa7bc202bb89f;hb=9be6519eca39111295b89e9b3b0d853f95126a72;hp=1b3144a0d28594898da01a7884d2e6f99ebeffac;hpb=ee72ee8f18be243df00fb9671ae0a09eb39c811c;p=functest.git diff --git a/docker/prepare_env.sh b/docker/prepare_env.sh index 1b3144a0d..4106e3bde 100755 --- a/docker/prepare_env.sh +++ b/docker/prepare_env.sh @@ -6,6 +6,12 @@ # 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 prepare the Functest environment. @@ -56,37 +62,30 @@ else info "MODE: offline" fi +# definition of available installer names +INSTALLERS=(fuel compass apex joid) -# 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 [ ! -f ${FUNCTEST_CONF_DIR}/openstack.creds ]; then + # If credentials file is not given, check if environment variables are set + # to get the creds using fetch_os_creds.sh later on + info "Checking environment variables INSTALLER_TYPE and INSTALLER_IP" + if [ -z ${INSTALLER_TYPE} ]; then + error "Environment variable 'INSTALLER_TYPE' is not defined." + elif [[ ${INSTALLERS[@]} =~ ${INSTALLER_TYPE} ]]; then + info "INSTALLER_TYPE env variable found: ${INSTALLER_TYPE}" + else + error "Invalid environment variable INSTALLER_TYPE=${INSTALLER_TYPE}" + fi -if [ -z ${INSTALLER_IP} ]; then - error "Environment variable 'INSTALLER_IP' is not defined." + if [ -z ${INSTALLER_IP} ]; then + error "Environment variable 'INSTALLER_IP' is not defined." + fi + info "INSTALLER_IP env variable found: ${INSTALLER_IP}" 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 @@ -123,6 +122,58 @@ if [ $offline == false ]; then 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. @@ -133,18 +184,10 @@ if [ ${RALLY_COMMIT} != "latest" ]; then git reset --hard ${RALLY_COMMIT} fi -# Ugly hack: -# After the 'git functest pull', we move the given yaml file to the repo directory, -# since some of the scripts will use that one, and not the one in -# /home/opnfv/functest/conf/ -given_config_file=/home/opnfv/functest/conf/config_functest.yaml -default_config_file=$(find /home/opnfv/repos -name config_functest.yaml) -if [ -f ${given_config_file} ]; then - info "Copying given config_functest.yaml to the repository directory" - cp ${given_config_file} ${default_config_file} -else - info "config_functest.yaml not provided. Using default one: ${default_config_file}" -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 @@ -169,14 +212,23 @@ fi # Source credentials source ${FUNCTEST_CONF_DIR}/openstack.creds +# Check OpenStack +info "Checking that the basic OpenStack services are functional..." +${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/check_os.sh +RETVAL=$? +if [ $RETVAL -ne 0 ]; then + exit 1 +fi # Prepare Functest Environment info "Functest: prepare Functest environment" -python ${FUNCTEST_REPO_DIR}/testcases/config_functest.py --debug ${FUNCTEST_REPO_DIR}/ start +python ${FUNCTEST_REPO_DIR}/testcases/config_functest.py --debug start retval=$? if [ $retval != 0 ]; then error "Error when configuring Functest environment" exit $retval fi +ifconfig eth0 mtu 1450 + echo "1" > ${FUNCTEST_CONF_DIR}/env_active