diff options
-rw-r--r-- | docker/vnf/testcases.yaml | 1 | ||||
-rw-r--r-- | functest/ci/testcases.yaml | 1 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/rally/rally.py | 31 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/vping/vping_base.py | 20 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/vping/vping_ssh.py | 20 | ||||
-rw-r--r-- | functest/tests/unit/openstack/rally/test_rally.py | 31 |
6 files changed, 57 insertions, 47 deletions
diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml index f9e63da35..5db81b89f 100644 --- a/docker/vnf/testcases.yaml +++ b/docker/vnf/testcases.yaml @@ -51,6 +51,7 @@ tiers: - case_name: vyos_vrouter project_name: functest + enabled: false criteria: 100 blocking: false description: >- diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index 97b2414e0..c2787fa7c 100644 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -421,6 +421,7 @@ tiers: - case_name: vyos_vrouter project_name: functest + enabled: false criteria: 100 blocking: false description: >- 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/opnfv_tests/openstack/vping/vping_base.py b/functest/opnfv_tests/openstack/vping/vping_base.py index 8b622e1c7..e719145bf 100644 --- a/functest/opnfv_tests/openstack/vping/vping_base.py +++ b/functest/opnfv_tests/openstack/vping/vping_base.py @@ -13,11 +13,13 @@ import time import uuid from functest.core import testcase +from functest.opnfv_tests.openstack.snaps import snaps_utils from functest.utils.constants import CONST from snaps.openstack import create_flavor from snaps.openstack.create_flavor import FlavorSettings, OpenStackFlavor from snaps.openstack.create_network import NetworkSettings, SubnetSettings +from snaps.openstack.create_router import RouterSettings from snaps.openstack.tests import openstack_tests from snaps.openstack.utils import deploy_utils @@ -62,6 +64,8 @@ class VPingBase(testcase.TestCase): if CONST.__getattribute__('vping_unique_names'): self.guid = '-' + str(uuid.uuid4()) + self.router_name = CONST.__getattribute__( + 'vping_router_name') + self.guid self.vm1_name = CONST.__getattribute__('vping_vm_name_1') + self.guid self.vm2_name = CONST.__getattribute__('vping_vm_name_2') + self.guid @@ -136,6 +140,18 @@ class VPingBase(testcase.TestCase): cidr=private_subnet_cidr)])) self.creators.append(self.network_creator) + # Creating router to external network + log = "Creating router with name: '%s'" % self.router_name + self.logger.info(log) + ext_net_name = snaps_utils.get_ext_net_name(self.os_creds) + self.router_creator = deploy_utils.create_router( + self.os_creds, + RouterSettings( + name=self.router_name, + external_gateway=ext_net_name, + internal_subnets=[private_subnet_name])) + self.creators.append(self.router_creator) + self.logger.info( "Creating flavor with name: '%s'" % self.flavor_name) scenario = CONST.__getattribute__('DEPLOY_SCENARIO') @@ -165,10 +181,12 @@ class VPingBase(testcase.TestCase): else: raise Exception('VMs never became active') + self.stop_time = time.time() + if result != testcase.TestCase.EX_OK: + self.result = 0 return testcase.TestCase.EX_RUN_ERROR - self.stop_time = time.time() self.result = 100 return testcase.TestCase.EX_OK diff --git a/functest/opnfv_tests/openstack/vping/vping_ssh.py b/functest/opnfv_tests/openstack/vping/vping_ssh.py index f94d20b20..1a04ad023 100644 --- a/functest/opnfv_tests/openstack/vping/vping_ssh.py +++ b/functest/opnfv_tests/openstack/vping/vping_ssh.py @@ -20,7 +20,6 @@ import pkg_resources from functest.core.testcase import TestCase from functest.energy import energy -from functest.opnfv_tests.openstack.snaps import snaps_utils from functest.opnfv_tests.openstack.vping import vping_base from functest.utils.constants import CONST from snaps.openstack.create_instance import FloatingIpSettings, \ @@ -28,7 +27,6 @@ from snaps.openstack.create_instance import FloatingIpSettings, \ from snaps.openstack.create_keypairs import KeypairSettings from snaps.openstack.create_network import PortSettings -from snaps.openstack.create_router import RouterSettings from snaps.openstack.create_security_group import Direction, Protocol, \ SecurityGroupSettings, SecurityGroupRuleSettings from snaps.openstack.utils import deploy_utils @@ -51,8 +49,6 @@ class VPingSSH(vping_base.VPingBase): self.kp_name = CONST.__getattribute__('vping_keypair_name') + self.guid self.kp_priv_file = CONST.__getattribute__('vping_keypair_priv_file') self.kp_pub_file = CONST.__getattribute__('vping_keypair_pub_file') - self.router_name = CONST.__getattribute__( - 'vping_router_name') + self.guid self.sg_name = CONST.__getattribute__('vping_sg_name') + self.guid self.sg_desc = CONST.__getattribute__('vping_sg_desc') @@ -77,20 +73,6 @@ class VPingSSH(vping_base.VPingBase): public_filepath=self.kp_pub_file)) self.creators.append(kp_creator) - # Creating router to external network - log = "Creating router with name: '%s'" % self.router_name - self.logger.info(log) - net_set = self.network_creator.network_settings - sub_set = [net_set.subnet_settings[0].name] - ext_net_name = snaps_utils.get_ext_net_name(self.os_creds) - router_creator = deploy_utils.create_router( - self.os_creds, - RouterSettings( - name=self.router_name, - external_gateway=ext_net_name, - internal_subnets=sub_set)) - self.creators.append(router_creator) - # Creating Instance 1 port1_settings = PortSettings( name=self.vm1_name + '-vPingPort', @@ -129,7 +111,7 @@ class VPingSSH(vping_base.VPingBase): floating_ip_settings=[FloatingIpSettings( name=self.vm2_name + '-FIPName', port_name=port2_settings.name, - router_name=router_creator.router_settings.name)]) + router_name=self.router_creator.router_settings.name)]) log = ("Creating VM 2 instance with name: '%s'" % instance2_settings.name) 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.' |