Add Neutron tests improvements 03/903/2
authorSergey Kolekonov <skolekonov@mirantis.com>
Fri, 24 Oct 2014 07:34:10 +0000 (11:34 +0400)
committerSergey Kolekonov <skolekonov@mirantis.com>
Tue, 25 Nov 2014 15:44:03 +0000 (18:44 +0300)
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

index 6b540716e111589ed8bdbde288069d55cecc9e52..7c32002504f9a5f0aa41e7b46702e19d37256c33 100755 (executable)
@@ -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