Select test cases in tempest to be blacklisted per each scenario 41/17741/5
authorjose.lausuch <jose.lausuch@ericsson.com>
Thu, 28 Jul 2016 19:09:39 +0000 (21:09 +0200)
committerJose Lausuch <jose.lausuch@ericsson.com>
Thu, 28 Jul 2016 20:21:40 +0000 (20:21 +0000)
JIRA: FUNCTEST-396

Added example for SDNVPN test cases

Change-Id: I623130fc330c95239d982097552ca09f2a7ea34a
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
ci/exec_test.sh
ci/testcases.yaml
testcases/OpenStack/tempest/custom_tests/blacklist.txt [new file with mode: 0644]
testcases/OpenStack/tempest/run_tempest.py

index 800b44a..c48bde9 100755 (executable)
@@ -116,24 +116,11 @@ function run_test(){
                 $clean_flag --sanity all $report
         ;;
         "bgpvpn")
-            sdnvpn_repo_dir=${repos_dir}/sdnvpn/test/functest/
-            # Copy blacklist from sdnvpn repo to the proper place to execute functest
-            src=${sdnvpn_repo_dir}/tempest_blacklist.txt
-            dst=${FUNCTEST_REPO_DIR}/testcases/OpenStack/tempest/custom_tests/blacklist.txt
-            cp $src $dst
-            # Execute tempest smoke with blacklist
-            python ${FUNCTEST_REPO_DIR}/testcases/OpenStack/tempest/run_tempest.py \
-                $clean_flag -s -m smoke $report
-            # Remove blacklist file
-            rm $dst
-
-            # Execute SDNVPN test cases
             python ${sdnvpn_repo_dir}/run_tests.py $report
-
         ;;
         "onos")
             python ${FUNCTEST_REPO_DIR}/testcases/Controllers/ONOS/Teston/onosfunctest.py
-      ;;
+        ;;
         "promise")
             python ${FUNCTEST_REPO_DIR}/testcases/features/promise.py $report
             sleep 10 # to let the instances terminate
index 634d041..befcdd4 100644 (file)
@@ -60,7 +60,7 @@ tiers:
                     the OpenStack deplopyment.
                 dependencies:
                     installer: ''
-                    scenario: '^(?!.*bgpvpn).*$'
+                    scenario: ''
 
             -
                 name: rally_sanity
diff --git a/testcases/OpenStack/tempest/custom_tests/blacklist.txt b/testcases/OpenStack/tempest/custom_tests/blacklist.txt
new file mode 100644 (file)
index 0000000..49605ca
--- /dev/null
@@ -0,0 +1,17 @@
+-
+    scenarios:
+        - os-odl_l2-bgpvpn-ha
+        - os-odl_l2-bgpvpn-noha
+    installers:
+        - fuel
+        - apex
+    tests:
+        - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f,smoke]
+        - tempest.api.compute.servers.test_create_server.ServersTestJSON.test_verify_server_details[id-5de47127-9977-400a-936f-abcfbec1218f,smoke]
+        - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_list_servers[id-9a438d88-10c6-4bcd-8b5b-5b6e25e1346f,smoke]
+        - tempest.api.compute.servers.test_create_server.ServersTestManualDisk.test_verify_server_details[id-5de47127-9977-400a-936f-abcfbec1218f,smoke]
+        - tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_reboot_server_hard[id-2cb1baf6-ac8d-4429-bf0d-ba8a0ba53e32,smoke]
+        - tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops[compute,id-f323b3ba-82f8-4db7-8ea6-6a895869ec49,network,smoke]
+        - tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops[compute,id-7fff3fb3-91d8-4fd0-bd7d-0204f1f180ba,network,smoke]
+        - tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern[compute,id-557cd2c2-4eb8-4dce-98be-f86765ff311b,image,smoke,volume]
+        - tempest.scenario.test_volume_boot_pattern.TestVolumeBootPatternV2.test_volume_boot_pattern[compute,id-557cd2c2-4eb8-4dce-98be-f86765ff311b,image,smoke,volume]
index f99678d..8d23b74 100755 (executable)
@@ -21,11 +21,12 @@ import shutil
 import subprocess
 import sys
 import time
+import yaml
 
 import functest.utils.functest_logger as ft_logger
 import functest.utils.functest_utils as ft_utils
 import functest.utils.openstack_utils as os_utils
-import yaml
+
 
 modes = ['full', 'smoke', 'baremetal', 'compute', 'data_processing',
          'identity', 'image', 'network', 'object_storage', 'orchestration',
@@ -330,13 +331,30 @@ def apply_tempest_blacklist():
     logger.debug("Applying tempest blacklist...")
     cases_file = read_file(TEMPEST_RAW_LIST)
     result_file = open(TEMPEST_LIST, 'w')
+    black_tests = []
     try:
-        black_file = read_file(TEMPEST_BLACKLIST)
+        installer_type = os.getenv('INSTALLER_TYPE')
+        deploy_scenario = os.getenv('DEPLOY_SCENARIO')
+        if (bool(installer_type) * bool(deploy_scenario)):
+            # if INSTALLER_TYPE and DEPLOY_SCENARIO are set we read the file
+            black_list_file = open(TEMPEST_BLACKLIST)
+            black_list_yaml = yaml.safe_load(black_list_file)
+            black_list_file.close()
+            for item in black_list_yaml:
+                scenarios = item['sceanrios']
+                installers = item['installers']
+                if (deploy_scenario in scenarios and
+                        installer_type in installers):
+                    tests = item['tests']
+                    for test in tests:
+                        black_tests.append(test)
+                    break
     except:
-        black_file = ''
+        black_tests = []
         logger.debug("Tempest blacklist file does not exist.")
+
     for line in cases_file:
-        if line not in black_file:
+        if line not in black_tests:
             result_file.write(str(line) + '\n')
     result_file.close()