#!/bin/bash set -o xtrace set -o errexit # Enable unbuffered output for Ansible in Jenkins. export PYTHONUNBUFFERED=1 function test_tacker { echo "TESTING: Tacker VIM,VNFD and VNF creation" sh contrib/demos/tacker/deploy-tacker-demo openstack vim list openstack vnf list openstack vnf descriptor list while [[ $(openstack vnf show kolla-sample-vnf -f value -c status) != "ACTIVE" ]]; do echo "VNF not running yet" attempt=$((attempt+1)) if [[ $attempt -eq 10 ]]; then echo "VNF failed to start" openstack vnf show kolla-sample-vnf return 1 fi sleep 10 done } function test_barbican { echo "TESTING: Barbican" openstack secret list } function test_mistral { echo "TESTING: Mistral" openstack workflow list openstack workflow execution list openstack action execution list } function test_nova { echo "TESTING: Nova" openstack server list } function test_heat { echo "TESTING: Heat" openstack stack list } function install_requirements { echo "TESTING: Install requirements" sudo -H pip install --ignore-installed -U "python-tackerclient" "python-heatclient" "networking-sfc" "python-mistralclient" "python-barbicanclient" } function test_scenario_nfv_logged { . /etc/kolla/admin-openrc.sh install_requirements test_tacker test_barbican test_mistral test_nova test_heat } function test_scenario_nfv { echo "Testing Scenario NFV" test_scenario_nfv_logged > /tmp/logs/ansible/test-scenario-nfv 2>&1 result=$? if [[ $result != 0 ]]; then echo "Testing Scenario NFV failed. See ansible/test-scenario-nfv for details" else echo "Successfully Scenario NFV. See ansible/test-scenario-nfv for details" fi return $result } test_scenario_nfv