summaryrefslogtreecommitdiffstats
path: root/xci/playbooks/roles/prepare-tests/templates/run-functest.sh.j2
blob: acd19d193748ad35ed048608ddba22eab3fde5a2 (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
#!/bin/bash

# Create directory to store functest logs
mkdir -p /root/functest-results/

# Dump the env file
echo "------------------------------------------------------"
echo "------------- functest environment file --------------"
cat /root/env
echo "------------------------------------------------------"

# we need to ensure the necessary environment variables are sourced
source /root/env

{% if 'os-' in deploy_scenario %}
{# stuff needed for OpenStack based scenarios #}
# the needed images differ between the suites so avoid downloading unnecessary images
echo "Downloading the images needed for functest-$FUNCTEST_SUITE_NAME"
mkdir ~/images && cd ~/images
if [[ "$FUNCTEST_SUITE_NAME" =~ "healthcheck" ]]; then
    wget -q http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
elif [[ "$FUNCTEST_SUITE_NAME" =~ "smoke" ]]; then
    wget -q http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img \
        http://testresults.opnfv.org/functest/shaker-image.qcow2 \
        https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img
else
    echo "Unsupported test suite for functest"
    exit 1
fi
echo "------------------------------------------------------"
ls -al . && cd ~
echo "------------------------------------------------------"

# docker image to use will be different for healthcheck and smoke test
DOCKER_IMAGE_NAME="ollivier/functest-${FUNCTEST_SUITE_NAME}"

sudo docker run --env-file env \
    -v $(pwd)/openrc:/home/opnfv/functest/conf/env_file  \
    -v $(pwd)/images:/home/opnfv/functest/images  \
    -v $(pwd)/functest-results:/home/opnfv/functest/results \
    ${DOCKER_IMAGE_NAME}
{% else %}
{# stuff needed for Kubernetes based scenarios #}
# docker image to use will be different for healthcheck and smoke test
DOCKER_IMAGE_NAME="opnfv/functest-kubernetes-${FUNCTEST_SUITE_NAME}"

sudo docker run --env-file env \
    -v $(pwd)/k8s.creds:/home/opnfv/functest/conf/env_file \
    -v $(pwd)/.kube/config:/root/.kube/config \
    -v $(pwd)/functest-results:/home/opnfv/functest/results \
    $DOCKER_IMAGE_NAME
{% endif %}