aboutsummaryrefslogtreecommitdiffstats
path: root/functest
diff options
context:
space:
mode:
Diffstat (limited to 'functest')
-rw-r--r--functest/ci/testcases.yaml1
-rw-r--r--functest/opnfv_tests/openstack/rally/rally.py31
-rw-r--r--functest/opnfv_tests/openstack/vping/vping_base.py20
-rw-r--r--functest/opnfv_tests/openstack/vping/vping_ssh.py20
-rw-r--r--functest/tests/unit/openstack/rally/test_rally.py31
5 files changed, 56 insertions, 47 deletions
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index 97b2414e..c2787fa7 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 e92639b2..c295b05a 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 8b622e1c..e719145b 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 f94d20b2..1a04ad02 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 827d69d8..40aab952 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.'