0df659af2dcc4ac2ee11bbb8589c3e648e5be7f1
[releng.git] / jjb / bottlenecks / bottlenecks-run-suite.sh
1 #!/bin/bash
2 #set -e
3 [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
4 BOTTLENECKS_IMAGE=opnfv/bottlenecks
5
6 if [[ $SUITE_NAME == rubbos || $SUITE_NAME == vstf ]]; then
7     echo "Bottlenecks: to pull image $BOTTLENECKS_IMAGE:${DOCKER_TAG}"
8     docker pull $BOTTLENECKS_IMAGE:$DOCKER_TAG >${redirect}
9
10     echo "Bottlenecks: docker start running"
11     opts="--privileged=true -id"
12     envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
13           -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \
14           -e BOTTLENECKS_BRANCH=${BOTTLENECKS_BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \
15           -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL}"
16     cmd="sudo docker run ${opts} ${envs} $BOTTLENECKS_IMAGE:${DOCKER_TAG} /bin/bash"
17     echo "Bottlenecks: docker cmd running ${cmd}"
18     ${cmd} >${redirect}
19
20     echo "Bottlenecks: obtain docker id"
21     container_id=$(docker ps | grep "$BOTTLENECKS_IMAGE:${DOCKER_TAG}" | awk '{print $1}' | head -1)
22     if [ -z ${container_id} ]; then
23         echo "Cannot find $BOTTLENECKS_IMAGE container ID ${container_id}. Please check if it exists."
24         docker ps -a
25         exit 1
26     fi
27
28     echo "Bottlenecks: to prepare openstack environment"
29     prepare_env="${REPO_DIR}/ci/prepare_env.sh"
30     echo "Bottlenecks: docker cmd running: ${prepare_env}"
31     sudo docker exec ${container_id} ${prepare_env}
32
33     echo "Bottlenecks: to run testsuite ${SUITE_NAME}"
34     run_testsuite="${REPO_DIR}/run_tests.sh -s ${SUITE_NAME}"
35     echo "Bottlenecks: docker cmd running: ${run_testsuite}"
36     sudo docker exec ${container_id} ${run_testsuite}
37 else
38     echo "Bottlenecks: installing POSCA docker-compose"
39     if [ -d usr/local/bin/docker-compose ]; then
40         rm -rf usr/local/bin/docker-compose
41     fi
42     curl -L https://github.com/docker/compose/releases/download/1.11.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
43     chmod +x /usr/local/bin/docker-compose
44
45     echo "Bottlenecks: composing up dockers"
46     cd $WORKSPACE
47     docker-compose -f $WORKSPACE/docker/bottleneck-compose/docker-compose.yml up -d
48
49     echo "Bottlenecks: running traffic stress/factor testing in posca testsuite "
50     POSCA_SCRIPT=/home/opnfv/bottlenecks/testsuites/posca
51     if [[ $SUITE_NAME == posca_stress_traffic ]]; then
52         TEST_CASE=posca_factor_system_bandwidth
53         echo "Bottlenecks: pulling tutum/influxdb for yardstick"
54         docker pull tutum/influxdb:0.13
55         sleep 5
56         docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py testcase $TEST_CASE
57     elif [[ $SUITE_NAME == posca_stress_ping ]]; then
58         TEST_CASE=posca_factor_ping
59         sleep 5
60         docker exec bottleneckcompose_bottlenecks_1 python ${POSCA_SCRIPT}/run_posca.py testcase $TEST_CASE
61     fi
62
63     echo "Bottlenecks: cleaning up docker-compose images and dockers"
64     docker-compose -f $WORKSPACE/docker/bottleneck-compose/docker-compose.yml down --rmi all
65 fi