summaryrefslogtreecommitdiffstats
path: root/docker/run_tests.sh
blob: ef3125fc3b557320606dd27369ee75f8eccc6bfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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