#!/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 %}