diff options
Diffstat (limited to 'sdnvpn/test/functest/run_sdnvpn_tests.py')
-rw-r--r-- | sdnvpn/test/functest/run_sdnvpn_tests.py | 57 |
1 files changed, 31 insertions, 26 deletions
diff --git a/sdnvpn/test/functest/run_sdnvpn_tests.py b/sdnvpn/test/functest/run_sdnvpn_tests.py index 8e55b2d..23a62e6 100644 --- a/sdnvpn/test/functest/run_sdnvpn_tests.py +++ b/sdnvpn/test/functest/run_sdnvpn_tests.py @@ -15,12 +15,14 @@ import sys import traceback import yaml +from collections import OrderedDict from xtesting.core import feature from sdnvpn.lib import config as sdnvpn_config from sdnvpn.lib import openstack_utils as os_utils from sdnvpn.lib.gather_logs import gather_logs from sdnvpn.lib import utils as test_utils +logger = logging.getLogger(__name__) COMMON_CONFIG = sdnvpn_config.CommonConfig() @@ -42,8 +44,8 @@ class SdnvpnFunctest(feature.Feature): neutron_quota['port'], neutron_quota['router']) instances_quota = test_utils.get_nova_instances_quota(nova_client) - self.logger.info("Setting net/subnet/port/router " - "quota to unlimited") + logger.info("Setting net/subnet/port/router " + "quota to unlimited") test_utils.update_nw_subnet_port_quota( neutron_client, tenant_id, @@ -55,13 +57,14 @@ class SdnvpnFunctest(feature.Feature): # Workaround for # https://jira.opnfv.org/projects/SDNVPN/issues/SDNVPN-115 - self.logger.info("Setting instances quota class to unlimited") + logger.info("Setting instances quota class to unlimited") test_utils.update_instance_quota_class( nova_client, COMMON_CONFIG.nova_instances_quota_class) # Clean up the stale floating ip's so that required # ip addresses are available for sdnvpn testcases + logger.info("Cleaning up the Floating IP Addresses") floating_ips = os_utils.get_floating_ips(neutron_client) if floating_ips is not None: for floating_ip in floating_ips: @@ -72,44 +75,46 @@ class SdnvpnFunctest(feature.Feature): config_yaml = yaml.safe_load(f) testcases = config_yaml.get("testcases") + testcases_ordered = OrderedDict(sorted(testcases.items(), + key=lambda x: x[1]['order'])) overall_status = "PASS" - for tc in testcases: - if testcases[tc]['enabled']: + for tc, test_sdnvpn in testcases_ordered.items(): + if test_sdnvpn['enabled']: test_name = tc test_descr = testcases[tc]['description'] title = ("Running '%s - %s'" % (test_name, test_descr)) - self.logger.info(title) - self.logger.info("%s\n" % ("=" * len(title))) + logger.info(title) + logger.info("%s\n" % ("=" * len(title))) try: - self.logger.info("Importing the testcase %s" % test_name) + logger.info("Importing the testcase %s" % test_name) t = importlib.import_module(test_name, package=None) - self.logger.info("Calling the testcase %s main method" - % test_name) + logger.info("Calling the testcase %s main method" + % test_name) result = t.main() - self.logger.info("Execution is complete for the" - " testcase %s" % test_name) + logger.info("Execution is complete for the" + " testcase %s" % test_name) except Exception as ex: result = -1 - self.logger.info("Caught Exception in %s: %s Trace: %s" - % (test_name, ex, - traceback.format_exc())) + logger.info("Caught Exception in %s: %s Trace: %s" + % (test_name, ex, + traceback.format_exc())) if result < 0: status = "FAIL" overall_status = "FAIL" - self.logger.info("Testcase %s failed" % test_name) + logger.info("Testcase %s failed" % test_name) else: status = result.get("status") self.details.update( {test_name: {'status': status, 'details': result.get("details")}}) - self.logger.info("Results of test case '%s - %s':\n%s\n" - % (test_name, test_descr, result)) + logger.info("Results of test case '%s - %s':\n%s\n" + % (test_name, test_descr, result)) if status == "FAIL": overall_status = "FAIL" - self.logger.info("Resetting subnet/net/port quota") + logger.info("Resetting subnet/net/port quota") test_utils.update_nw_subnet_port_quota(neutron_client, tenant_id, neutron_nw_quota, @@ -117,7 +122,7 @@ class SdnvpnFunctest(feature.Feature): neutron_port_quota, neutron_router_quota) - self.logger.info("Resetting instances quota class") + logger.info("Resetting instances quota class") test_utils.update_instance_quota_class(nova_client, instances_quota) try: @@ -125,13 +130,13 @@ class SdnvpnFunctest(feature.Feature): if installer_type in ["fuel", "apex"]: gather_logs('overall') else: - self.logger.info("Skipping log gathering because installer" - "type %s is neither fuel nor apex" % - installer_type) + logger.info("Skipping log gathering because installer" + "type %s is neither fuel nor apex" % + installer_type) except Exception as ex: - self.logger.error(('Something went wrong in the Log gathering.' - 'Ex: %s, Trace: %s') - % (ex, traceback.format_exc())) + logger.error(('Something went wrong in the Log gathering.' + 'Ex: %s, Trace: %s') + % (ex, traceback.format_exc())) if overall_status == "PASS": self.result = 100 |