diff options
-rw-r--r-- | functest/opnfv_tests/openstack/rally/rally.py | 31 | ||||
-rw-r--r-- | functest/tests/unit/openstack/rally/test_rally.py | 31 |
2 files changed, 35 insertions, 27 deletions
diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index e92639b29..c295b05aa 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -20,7 +20,6 @@ import subprocess import time import uuid -import iniparse import pkg_resources import yaml @@ -74,8 +73,6 @@ class RallyBase(testcase.TestCase): ITERATIONS_AMOUNT = 10 CONCURRENCY = 4 RESULTS_DIR = os.path.join(CONST.__getattribute__('dir_results'), 'rally') - TEMPEST_CONF_FILE = os.path.join(CONST.__getattribute__('dir_results'), - 'tempest/tempest.conf') BLACKLIST_FILE = os.path.join(RALLY_DIR, "blacklist.txt") TEMP_DIR = os.path.join(RALLY_DIR, "var") @@ -117,6 +114,7 @@ class RallyBase(testcase.TestCase): self.start_time = None self.result = None self.details = None + self.compute_cnt = 0 def _build_task_args(self, test_file_name): task_args = {'service_list': [test_file_name]} @@ -167,7 +165,7 @@ class RallyBase(testcase.TestCase): if not os.path.exists(self.TEMP_DIR): os.makedirs(self.TEMP_DIR) - self.apply_blacklist(scenario_file_name, test_file_name) + self._apply_blacklist(scenario_file_name, test_file_name) return test_file_name @staticmethod @@ -205,16 +203,10 @@ class RallyBase(testcase.TestCase): return True - @staticmethod - def live_migration_supported(): + def _live_migration_supported(self): """Determine if live migration is supported.""" - config = iniparse.ConfigParser() - if (config.read(RallyBase.TEMPEST_CONF_FILE) and - config.has_section('compute-feature-enabled') and - config.has_option('compute-feature-enabled', - 'live_migration')): - return config.getboolean('compute-feature-enabled', - 'live_migration') + if self.compute_cnt > 1: + return True return False @@ -273,8 +265,7 @@ class RallyBase(testcase.TestCase): else: return False - @staticmethod - def excl_func(): + def excl_func(self): """Exclude functionalities.""" black_tests = [] func_list = [] @@ -283,7 +274,7 @@ class RallyBase(testcase.TestCase): with open(RallyBase.BLACKLIST_FILE, 'r') as black_list_file: black_list_yaml = yaml.safe_load(black_list_file) - if not RallyBase.live_migration_supported(): + if not self._live_migration_supported(): func_list.append("no_live_migration") if 'functionality' in black_list_yaml.keys(): @@ -298,15 +289,14 @@ class RallyBase(testcase.TestCase): return black_tests - @staticmethod - def apply_blacklist(case_file_name, result_file_name): + def _apply_blacklist(self, case_file_name, result_file_name): """Apply blacklist.""" LOGGER.debug("Applying blacklist...") cases_file = open(case_file_name, 'r') result_file = open(result_file_name, 'w') - black_tests = list(set(RallyBase.excl_func() + - RallyBase.excl_scenario())) + black_tests = list(set(self.excl_func() + + self.excl_scenario())) if black_tests: LOGGER.debug("Blacklisted tests: " + str(black_tests)) @@ -483,6 +473,7 @@ class RallyBase(testcase.TestCase): self.flavor_name = self.FLAVOR_NAME + self.guid self.flavor_alt_name = self.FLAVOR_ALT_NAME + self.guid self.ext_net_name = snaps_utils.get_ext_net_name(self.os_creds) + self.compute_cnt = snaps_utils.get_active_compute_cnt(self.os_creds) LOGGER.debug("Creating image '%s'...", self.image_name) image_creator = deploy_utils.create_image( diff --git a/functest/tests/unit/openstack/rally/test_rally.py b/functest/tests/unit/openstack/rally/test_rally.py index 827d69d8f..40aab9527 100644 --- a/functest/tests/unit/openstack/rally/test_rally.py +++ b/functest/tests/unit/openstack/rally/test_rally.py @@ -66,7 +66,7 @@ class OSRallyTesting(unittest.TestCase): @mock.patch('functest.opnfv_tests.openstack.rally.rally.os.path.exists') @mock.patch('functest.opnfv_tests.openstack.rally.rally.os.makedirs') @mock.patch('functest.opnfv_tests.openstack.rally.rally.RallyBase.' - 'apply_blacklist') + '_apply_blacklist') def test_prepare_test_list_missing_temp_dir( self, mock_method, mock_os_makedirs, mock_path_exists): mock_path_exists.side_effect = self.check_temp_dir @@ -169,7 +169,7 @@ class OSRallyTesting(unittest.TestCase): return_value={'functionality': [ {'functions': ['no_live_migration'], 'tests': ['test']}]}) @mock.patch('functest.opnfv_tests.openstack.rally.rally.RallyBase.' - 'live_migration_supported', return_value=False) + '_live_migration_supported', return_value=False) def test_excl_func_default(self, mock_func, mock_yaml_load): CONST.__setattr__('INSTALLER_TYPE', 'test_installer') CONST.__setattr__('DEPLOY_SCENARIO', 'test_scenario') @@ -279,24 +279,31 @@ class OSRallyTesting(unittest.TestCase): self.rally_base._prepare_env() @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' + 'get_active_compute_cnt') + @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' 'get_ext_net_name', return_value='test_net_name') @mock.patch('snaps.openstack.utils.deploy_utils.create_image', return_value=None) - def test_prepare_env_image_missing(self, mock_get_img, mock_get_net): + def test_prepare_env_image_missing( + self, mock_get_img, mock_get_net, mock_get_comp_cnt): self.rally_base.TESTS = ['test1', 'test2'] self.rally_base.test_name = 'test1' with self.assertRaises(Exception): self.rally_base._prepare_env() mock_get_img.assert_called() mock_get_net.assert_called() + mock_get_comp_cnt.assert_called() @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' + 'get_active_compute_cnt') + @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' 'get_ext_net_name', return_value='test_net_name') @mock.patch('snaps.openstack.utils.deploy_utils.create_image') @mock.patch('snaps.openstack.utils.deploy_utils.create_network', return_value=None) def test_prepare_env_network_creation_failed( - self, mock_create_net, mock_get_img, mock_get_net): + self, mock_create_net, mock_get_img, mock_get_net, + mock_get_comp_cnt): self.rally_base.TESTS = ['test1', 'test2'] self.rally_base.test_name = 'test1' with self.assertRaises(Exception): @@ -304,8 +311,11 @@ class OSRallyTesting(unittest.TestCase): mock_create_net.assert_called() mock_get_img.assert_called() mock_get_net.assert_called() + mock_get_comp_cnt.assert_called() @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' + 'get_active_compute_cnt') + @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' 'get_ext_net_name', return_value='test_net_name') @mock.patch('snaps.openstack.utils.deploy_utils.create_image') @mock.patch('snaps.openstack.utils.deploy_utils.create_network') @@ -313,7 +323,7 @@ class OSRallyTesting(unittest.TestCase): return_value=None) def test_prepare_env_router_creation_failed( self, mock_create_router, mock_create_net, mock_get_img, - mock_get_net): + mock_get_net, mock_get_comp_cnt): self.rally_base.TESTS = ['test1', 'test2'] self.rally_base.test_name = 'test1' with self.assertRaises(Exception): @@ -322,8 +332,11 @@ class OSRallyTesting(unittest.TestCase): mock_get_img.assert_called() mock_get_net.assert_called() mock_create_router.assert_called() + mock_get_comp_cnt.assert_called() @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' + 'get_active_compute_cnt') + @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' 'get_ext_net_name', return_value='test_net_name') @mock.patch('snaps.openstack.utils.deploy_utils.create_image') @mock.patch('snaps.openstack.utils.deploy_utils.create_network') @@ -332,7 +345,7 @@ class OSRallyTesting(unittest.TestCase): return_value=None) def test_prepare_env_flavor_creation_failed( self, mock_create_flavor, mock_create_router, mock_create_net, - mock_get_img, mock_get_net): + mock_get_img, mock_get_net, mock_get_comp_cnt): self.rally_base.TESTS = ['test1', 'test2'] self.rally_base.test_name = 'test1' with self.assertRaises(Exception): @@ -341,9 +354,12 @@ class OSRallyTesting(unittest.TestCase): mock_get_img.assert_called() mock_get_net.assert_called() mock_create_router.assert_called() + mock_get_comp_cnt.assert_called() mock_create_flavor.assert_called_once() @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' + 'get_active_compute_cnt') + @mock.patch('functest.opnfv_tests.openstack.snaps.snaps_utils.' 'get_ext_net_name', return_value='test_net_name') @mock.patch('snaps.openstack.utils.deploy_utils.create_image') @mock.patch('snaps.openstack.utils.deploy_utils.create_network') @@ -352,7 +368,7 @@ class OSRallyTesting(unittest.TestCase): side_effect=[mock.Mock, None]) def test_prepare_env_flavor_alt_creation_failed( self, mock_create_flavor, mock_create_router, mock_create_net, - mock_get_img, mock_get_net): + mock_get_img, mock_get_net, mock_get_comp_cnt): self.rally_base.TESTS = ['test1', 'test2'] self.rally_base.test_name = 'test1' with self.assertRaises(Exception): @@ -361,6 +377,7 @@ class OSRallyTesting(unittest.TestCase): mock_get_img.assert_called() mock_get_net.assert_called() mock_create_router.assert_called() + mock_get_comp_cnt.assert_called() self.assertEqual(mock_create_flavor.call_count, 2) @mock.patch('functest.opnfv_tests.openstack.rally.rally.RallyBase.' |