X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ci%2Fexec_test.sh;h=7e57cd5e46cf7706988e9c7e07ead0cf26d04d91;hb=20b9b2e3841172f13b8674bfb9f217b7fd6b6529;hp=f778a2fb2d84d6869c48df4199d88f1c732bea26;hpb=6790e17eb7c1a3eaaccfe97ac90932e3c15eea6d;p=functest.git diff --git a/ci/exec_test.sh b/ci/exec_test.sh index f778a2fb2..7e57cd5e4 100755 --- a/ci/exec_test.sh +++ b/ci/exec_test.sh @@ -42,28 +42,25 @@ FUNCTEST_CONF_DIR=/home/opnfv/functest/conf/ 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'=') + neutron_ip=$(openstack catalog show network | grep publicURL | cut -f3 -d"/" | cut -f1 -d":") + odl_ip=${neutron_ip} odl_port=8181 - if [ $INSTALLER_TYPE == "fuel" ]; then + 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":") + elif [ "$INSTALLER_TYPE" == "apex" ]; then + odl_ip=$SDN_CONTROLLER_IP + elif [ "$INSTALLER_TYPE" == "joid" ]; then + odl_ip=$SDN_CONTROLLER odl_port=8080 : - elif [ $INSTALLER_TYPE == "compass" ]; then + elif [ "$INSTALLER_TYPE" == "compass" ]; then : else - error "INSTALLER_TYPE not valid." - exit 1 + odl_ip=$SDN_CONTROLLER_IP + odl_port=8080 fi } + function run_test(){ test_name=$1 serial_flag="" @@ -73,86 +70,110 @@ function run_test(){ case $test_name in "healthcheck") - ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/healthcheck.sh + ${FUNCTEST_REPO_DIR}/testcases/OpenStack/healthcheck/healthcheck.sh ;; "vping_ssh") - python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing_ssh.py \ - $debug $report + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/vPing/vPing_ssh.py $report ;; "vping_userdata") - python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing_userdata.py \ - $debug $report + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/vPing/vPing_userdata.py $report ;; "odl") 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 + ${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/OpenDaylightTesting.py \ + --keystoneip $keystone_ip --neutronip $neutron_ip \ + --osusername ${OS_USERNAME} --ostenantname ${OS_TENANT_NAME} \ + --ospassword ${OS_PASSWORD} \ + --odlip $odl_ip --odlwebport $odl_port # 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" + if [[ "$report" == "-r" && + -n "$DEPLOY_SCENARIO" && "$DEPLOY_SCENARIO" != "none" && + -n "$INSTALLER_TYPE" && "$INSTALLER_TYPE" != "none" ]] && + env | grep NODE_NAME > /dev/null; then + odl_logs="/home/opnfv/functest/results/odl/" + odl_path="${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/" 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") - 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 + "tempest_smoke_serial") + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/tempest/run_tempest.py \ + $clean_flag -s -m smoke $report + ;; + "tempest_full_parallel") + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/tempest/run_tempest.py \ + $serial_flag $clean_flag -m full $report ;; "vims") - python ${FUNCTEST_REPO_DIR}/testcases/vIMS/CI/vIMS.py \ - $debug $clean_flag $report + python ${FUNCTEST_REPO_DIR}/testcases/vnf/vIMS/vIMS.py $clean_flag $report ;; - "rally") - python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py \ - $debug $clean_flag all $report - + "rally_full") + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/rally/run_rally-cert.py $clean_flag all $report + ;; + "rally_sanity") + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/rally/run_rally-cert.py \ + $clean_flag --sanity all $report ;; "bgpvpn") - 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 + sdnvpn_repo_dir=${repos_dir}/sdnvpn/test/functest/ + # Copy blacklist from sdnvpn repo to the proper place to execute functest + src=${sdnvpn_repo_dir}/tempest_blacklist.txt + dst=${FUNCTEST_REPO_DIR}/testcases/OpenStack/tempest/custom_tests/blacklist.txt + cp $src $dst + # Execute tempest smoke with blacklist + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/tempest/run_tempest.py \ + $clean_flag -s -m smoke $report + # Remove blacklist file + rm $dst + + # Execute SDNVPN test cases + python ${sdnvpn_repo_dir}/run_tests.py $report + ;; "onos") - 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 + python ${FUNCTEST_REPO_DIR}/testcases/Controllers/ONOS/Teston/onosfunctest.py ;; "promise") - python ${FUNCTEST_REPO_DIR}/testcases/features/promise.py $debug $report + python ${FUNCTEST_REPO_DIR}/testcases/features/promise.py $report sleep 10 # to let the instances terminate ;; "doctor") python ${FUNCTEST_REPO_DIR}/testcases/features/doctor.py ;; "ovno") - ${repos_dir}/ovno/Testcases/RunTests.sh + # suite under rewritting for colorado + # no need to run anything until refactoring done + # ${repos_dir}/ovno/Testcases/RunTests.sh + ;; + "security_scan") + echo "Sourcing Credentials ${FUNCTEST_CONF_DIR}/stackrc for undercloud .." + source ${FUNCTEST_CONF_DIR}/stackrc + python ${FUNCTEST_REPO_DIR}/testcases/security_scan/security_scan.py --config ${FUNCTEST_REPO_DIR}/testcases/security_scan/config.ini + ;; + "copper") + python ${FUNCTEST_REPO_DIR}/testcases/features/copper.py + ;; + "moon") + # TODO put the link to Moon script to be run (if test runnable) here + ${repos_dir}/moon/tests/run_tests.sh + ;; + "multisite") + python ${FUNCTEST_REPO_DIR}/testcases/features/multisite.py + python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/tempest/run_tempest.py \ + $clean_flag -s -m feature_multisite $report + ;; + "domino") + python ${FUNCTEST_REPO_DIR}/testcases/features/domino.py ;; *) echo "The test case '${test_name}' does not exist." exit 1 esac + + if [[ $? != 0 ]]; then exit 1 + else exit 0 + fi }