diff options
Diffstat (limited to 'functest/opnfv_tests/openstack/rally/rally.py')
-rw-r--r-- | functest/opnfv_tests/openstack/rally/rally.py | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index f762383a..86ec3558 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -8,6 +8,8 @@ # http://www.apache.org/licenses/LICENSE-2.0 # +from __future__ import division + import json import logging import os @@ -20,7 +22,6 @@ import yaml from functest.core import testcase from functest.utils.constants import CONST -import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils logger = logging.getLogger(__name__) @@ -29,14 +30,17 @@ logger = logging.getLogger(__name__) class RallyBase(testcase.TestCase): TESTS = ['authenticate', 'glance', 'cinder', 'heat', 'keystone', 'neutron', 'nova', 'quotas', 'requests', 'vm', 'all'] - GLANCE_IMAGE_NAME = CONST.openstack_image_name - GLANCE_IMAGE_FILENAME = CONST.openstack_image_file_name - GLANCE_IMAGE_PATH = os.path.join(CONST.dir_functest_data, - GLANCE_IMAGE_FILENAME) - GLANCE_IMAGE_FORMAT = CONST.openstack_image_disk_format + GLANCE_IMAGE_NAME = CONST.__getattribute__('openstack_image_name') + GLANCE_IMAGE_FILENAME = CONST.__getattribute__('openstack_image_file_name') + GLANCE_IMAGE_PATH = os.path.join( + CONST.__getattribute__('dir_functest_images'), + GLANCE_IMAGE_FILENAME) + GLANCE_IMAGE_FORMAT = CONST.__getattribute__('openstack_image_disk_format') FLAVOR_NAME = "m1.tiny" - RALLY_DIR = os.path.join(CONST.dir_repo_functest, CONST.dir_rally) + RALLY_DIR = os.path.join( + CONST.__getattribute__('dir_repo_functest'), + CONST.__getattribute__('dir_rally')) RALLY_SCENARIO_DIR = os.path.join(RALLY_DIR, "scenario") TEMPLATE_DIR = os.path.join(RALLY_SCENARIO_DIR, "templates") SUPPORT_DIR = os.path.join(RALLY_SCENARIO_DIR, "support") @@ -44,17 +48,17 @@ class RallyBase(testcase.TestCase): TENANTS_AMOUNT = 3 ITERATIONS_AMOUNT = 10 CONCURRENCY = 4 - RESULTS_DIR = os.path.join(CONST.dir_results, 'rally') - TEMPEST_CONF_FILE = os.path.join(CONST.dir_results, + 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") CINDER_VOLUME_TYPE_NAME = "volume_test" - RALLY_PRIVATE_NET_NAME = CONST.rally_network_name - RALLY_PRIVATE_SUBNET_NAME = CONST.rally_subnet_name - RALLY_PRIVATE_SUBNET_CIDR = CONST.rally_subnet_cidr - RALLY_ROUTER_NAME = CONST.rally_router_name + RALLY_PRIVATE_NET_NAME = CONST.__getattribute__('rally_network_name') + RALLY_PRIVATE_SUBNET_NAME = CONST.__getattribute__('rally_subnet_name') + RALLY_PRIVATE_SUBNET_CIDR = CONST.__getattribute__('rally_subnet_cidr') + RALLY_ROUTER_NAME = CONST.__getattribute__('rally_router_name') def __init__(self, **kwargs): super(RallyBase, self).__init__(**kwargs) @@ -96,7 +100,7 @@ class RallyBase(testcase.TestCase): task_args['netid'] = '' # get keystone auth endpoint - task_args['request_url'] = CONST.OS_AUTH_URL or '' + task_args['request_url'] = CONST.__getattribute__('OS_AUTH_URL') or '' return task_args @@ -182,8 +186,8 @@ class RallyBase(testcase.TestCase): with open(RallyBase.BLACKLIST_FILE, 'r') as black_list_file: black_list_yaml = yaml.safe_load(black_list_file) - installer_type = CONST.INSTALLER_TYPE - deploy_scenario = CONST.DEPLOY_SCENARIO + installer_type = CONST.__getattribute__('INSTALLER_TYPE') + deploy_scenario = CONST.__getattribute__('DEPLOY_SCENARIO') if (bool(installer_type) * bool(deploy_scenario)): if 'scenario' in black_list_yaml.keys(): for item in black_list_yaml['scenario']: @@ -480,11 +484,12 @@ class RallyBase(testcase.TestCase): total_duration_str2 = "{0:<10}".format(total_duration_str) total_nb_tests_str = "{0:<13}".format(total_nb_tests) - if len(self.summary): - success_rate = total_success / len(self.summary) - else: - success_rate = 100 - success_rate = "{:0.2f}".format(success_rate) + try: + self.result = total_success / len(self.summary) + except ZeroDivisionError: + self.result = 100 + + success_rate = "{:0.2f}".format(self.result) success_rate_str = "{0:<10}".format(str(success_rate) + '%') report += ("+===================+============" "+===============+===========+") @@ -500,12 +505,10 @@ class RallyBase(testcase.TestCase): 'nb tests': total_nb_tests, 'nb success': success_rate}}) - self.result = ft_utils.check_success_rate( - self.case_name, success_rate) self.details = payload - logger.info("Rally '%s' success_rate is %s%%, is marked as %s" - % (self.case_name, success_rate, self.result)) + logger.info("Rally '%s' success_rate is %s%%" + % (self.case_name, success_rate)) def _clean_up(self): if self.volume_type: |