/usr/lib/python2.7/dist-packages/neutron_lbaas/tests/contrib/post_test_hook.sh is in python-neutron-lbaas 2:8.0.0-0ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | #!/bin/bash
set -xe
NEUTRON_LBAAS_DIR="$BASE/new/neutron-lbaas"
TEMPEST_CONFIG_DIR="$BASE/new/tempest/etc"
SCRIPTS_DIR="/usr/os-testr-env/bin"
OCTAVIA_DIR="$BASE/new/octavia"
# Sort out our gate args
. `dirname "$0"`/decode_args.sh
LBAAS_VERSION=$lbaasversion
LBAAS_TEST=$lbaasenv
LBAAS_DRIVER=$lbaasdriver
if [ "$LBAAS_VERSION" = "lbaasv1" ]; then
testenv="apiv1"
else
testenv="apiv2"
case "$LBAAS_TEST" in
api)
if [ "$LBAAS_DRIVER" = "namespace" ]; then
test_subset="load_balancers "
test_subset+="listeners "
test_subset+="pools "
test_subset+="members "
test_subset+="health_monitor"
else
testenv=${LBAAS_TEST:-"apiv2"}
fi
;;
minimal)
# Temporarily just do the happy path
test_subset="neutron_lbaas.tests.tempest.v2.api.test_load_balancers_non_admin.LoadBalancersTestJSON.test_create_load_balancer(?!_) "
test_subset+="neutron_lbaas.tests.tempest.v2.api.test_load_balancers_non_admin.LoadBalancersTestJSON.test_get_load_balancer_stats(?!_) "
test_subset+="neutron_lbaas.tests.tempest.v2.api.test_load_balancers_non_admin.LoadBalancersTestJSON.test_get_load_balancer_status_tree(?!_) "
test_subset+="neutron_lbaas.tests.tempest.v2.api.test_listeners_non_admin.ListenersTestJSON.test_create_listener(?!_) "
test_subset+="neutron_lbaas.tests.tempest.v2.api.test_pools_non_admin.TestPools.test_create_pool(?!_) "
test_subset+="neutron_lbaas.tests.tempest.v2.api.test_members_non_admin.MemberTestJSON.test_add_member(?!_) "
test_subset+="neutron_lbaas.tests.tempest.v2.api.test_health_monitors_non_admin.TestHealthMonitors.test_create_health_monitor(?!_)"
;;
healthmonitor)
test_subset="health_monitor"
;;
listener)
test_subset="listeners"
;;
loadbalancer)
test_subset="load_balancers"
;;
member)
test_subset="members"
;;
pool)
test_subset="pools"
;;
scenario)
testenv="scenario"
;;
*)
testenv=${LBAAS_TEST:-"apiv2"}
;;
esac
fi
function generate_testr_results {
# Give job user rights to access tox logs
sudo -H -u $owner chmod o+rw .
sudo -H -u $owner chmod o+rw -R .testrepository
if [ -f ".testrepository/0" ] ; then
subunit-1to2 < .testrepository/0 > ./testrepository.subunit
$SCRIPTS_DIR/subunit2html ./testrepository.subunit testr_results.html
gzip -9 ./testrepository.subunit
gzip -9 ./testr_results.html
sudo mv ./*.gz /opt/stack/logs/
fi
}
owner=tempest
# Set owner permissions according to job's requirements.
cd $NEUTRON_LBAAS_DIR
sudo chown -R $owner:stack $NEUTRON_LBAAS_DIR
if [ "$lbaasdriver" = "octavia" ]; then
sudo chown -R $owner:stack $OCTAVIA_DIR
fi
sudo_env=" OS_TESTR_CONCURRENCY=1"
# Configure the api and scenario tests to use the tempest.conf set by devstack
sudo_env+=" TEMPEST_CONFIG_DIR=$TEMPEST_CONFIG_DIR"
if [ "$testenv" = "apiv2" ]; then
sudo_env+=" OS_TEST_PATH=$NEUTRON_LBAAS_DIR/neutron_lbaas/tests/tempest/v2/api"
elif [ "$testenv" = "apiv1" ]; then
sudo_env+=" OS_TEST_PATH=$NEUTRON_LBAAS_DIR/neutron_lbaas/tests/tempest/v1/api"
elif [ "$testenv" = "scenario" ]; then
sudo_env+=" OS_TEST_PATH=$NEUTRON_LBAAS_DIR/neutron_lbaas/tests/tempest/v2/scenario"
else
echo "ERROR: unsupported testenv: $testenv"
exit 1
fi
# Run tests
echo "Running neutron lbaas $testenv test suite"
set +e
sudo -H -u $owner $sudo_env tox -e $testenv -- $test_subset
# sudo -H -u $owner $sudo_env testr init
# sudo -H -u $owner $sudo_env testr run
testr_exit_code=$?
set -e
# Collect and parse results
generate_testr_results
exit $testr_exit_code
|