From 2bee3d9610fdebea7100747aeb1bfecbb54bd991 Mon Sep 17 00:00:00 2001 From: Sergey Kolekonov Date: Fri, 24 Oct 2014 11:34:10 +0400 Subject: [PATCH] Add Neutron tests improvements Currently Neutron tests sometimes fail because components don't get ready in hardcoded time, so 5 attempts to test a component are added Change-Id: I098fe78fdab1eec184a7e1928e4b701319ccae52 --- tests/runtests.sh | 47 +++++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/tests/runtests.sh b/tests/runtests.sh index 6b540716e..7c3200250 100755 --- a/tests/runtests.sh +++ b/tests/runtests.sh @@ -3,6 +3,7 @@ PACKAGE=$1 UBUNTU=false FAILURE=false +FAILED_TESTS="" PLATFORM=$(python -mplatform) TOKEN=$(openssl rand -hex 10) MYSQL_PASS=mysql_pass @@ -25,10 +26,8 @@ install_packages() { yum install -y openstack-keystone rabbitmq-server mysql-server MySQL-client python-oslo-utils #Install some plugins because they are required for db-migration scripts (bug #1371184) #Ubuntu neutron-server package include them - if [ "$SOURCEBRANCH" == "master" ]; then - yum install -y openstack-neutron-bigswitch openstack-neutron-brocade openstack-neutron-cisco openstack-neutron-hyperv openstack-neutron-vmware openstack-neutron-openvswitch \ - openstack-neutron-ryu openstack-neutron-linuxbridge openstack-neutron-metaplugin openstack-neutron-mellanox openstack-neutron-nec openstack-neutron-nuage - fi + yum install -y openstack-neutron-bigswitch openstack-neutron-brocade openstack-neutron-cisco openstack-neutron-hyperv openstack-neutron-vmware openstack-neutron-openvswitch \ + openstack-neutron-ryu openstack-neutron-linuxbridge openstack-neutron-metaplugin openstack-neutron-mellanox openstack-neutron-nec openstack-neutron-nuage fi } @@ -154,6 +153,21 @@ start_neutron_server () { sleep 10 } +try () { + TEST_FUNCTION=$1 + for i in {1..5} + do + FAILURE=false + $TEST_FUNCTION + if ! $FAILURE + then break + elif [ $i -eq 5 ] + then + FAILED_TESTS+="$TEST_FUNCTION " + fi + done +} + check_neutron_server() { #Execute tests neutron $NEUTRON_AUTH net-create mynet1 @@ -220,10 +234,11 @@ check_neutron_client () { } check_error () { - if $FAILURE + if [ "$FAILED_TESTS" != "" ] then grep TRACE /var/log/neutron/* grep ERROR /var/log/neutron/* + echo "Failed tests are: $FAILED_TESTS" exit 1 fi } @@ -237,7 +252,7 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_server + try check_neutron_server check_error ;; openstack-neutron) @@ -248,10 +263,10 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_server - check_neutron_l3_agent - check_neutron_dhcp_agent - check_neutron_metadata_agent + try check_neutron_server + try check_neutron_l3_agent + try check_neutron_dhcp_agent + try check_neutron_metadata_agent check_error ;; openstack-neutron-ml2) @@ -262,7 +277,7 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_server + try check_neutron_server check_error ;; openstack-neutron-openvswitch|neutron-plugin-openvswitch-agent) @@ -273,7 +288,7 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_openvswitch + try check_neutron_openvswitch check_error ;; python-neutronclient) @@ -288,7 +303,7 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_l3_agent + try check_neutron_l3_agent check_error ;; neutron-dhcp-agent) @@ -299,7 +314,7 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_dhcp_agent + try check_neutron_dhcp_agent check_error ;; neutron-metadata-agent) @@ -310,7 +325,7 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_metadata_agent + try check_neutron_metadata_agent check_error ;; openstack-neutron-metering-agent|neutron-plugin-metering-agent) @@ -321,7 +336,7 @@ case $PACKAGE in setup_neutron_services upgrade_neutron_db start_neutron_server - check_neutron_metering_agent + try check_neutron_metering_agent check_error ;; esac -- 2.32.3