Merge "Delete functest.utils.functest_logger"
[functest.git] / functest / opnfv_tests / openstack / rally / rally.py
index f984c36..f762383 100644 (file)
@@ -9,6 +9,7 @@
 #
 
 import json
+import logging
 import os
 import re
 import subprocess
@@ -17,16 +18,15 @@ import time
 import iniparse
 import yaml
 
-from functest.core import testcase_base
+from functest.core import testcase
 from functest.utils.constants import CONST
-import functest.utils.functest_logger as ft_logger
 import functest.utils.functest_utils as ft_utils
 import functest.utils.openstack_utils as os_utils
 
-logger = ft_logger.Logger('Rally').getLogger()
+logger = logging.getLogger(__name__)
 
 
-class RallyBase(testcase_base.TestcaseBase):
+class RallyBase(testcase.TestCase):
     TESTS = ['authenticate', 'glance', 'cinder', 'heat', 'keystone',
              'neutron', 'nova', 'quotas', 'requests', 'vm', 'all']
     GLANCE_IMAGE_NAME = CONST.openstack_image_name
@@ -56,8 +56,8 @@ class RallyBase(testcase_base.TestcaseBase):
     RALLY_PRIVATE_SUBNET_CIDR = CONST.rally_subnet_cidr
     RALLY_ROUTER_NAME = CONST.rally_router_name
 
-    def __init__(self):
-        super(RallyBase, self).__init__()
+    def __init__(self, **kwargs):
+        super(RallyBase, self).__init__(**kwargs)
         self.mode = ''
         self.summary = []
         self.scenario_dir = ''
@@ -66,6 +66,7 @@ class RallyBase(testcase_base.TestcaseBase):
         self.cinder_client = os_utils.get_cinder_client()
         self.network_dict = {}
         self.volume_type = None
+        self.smoke = None
 
     def _build_task_args(self, test_file_name):
         task_args = {'service_list': [test_file_name]}
@@ -287,7 +288,7 @@ class RallyBase(testcase_base.TestcaseBase):
             cmd_line = ("rally task validate "
                         "--task {0} "
                         "--task-args \"{1}\""
-                        .format(task_file, self.__build_task_args(test_name)))
+                        .format(task_file, self._build_task_args(test_name)))
             logger.debug('running command line: {}'.format(cmd_line))
             p = subprocess.Popen(cmd_line, stdout=subprocess.PIPE,
                                  stderr=subprocess.STDOUT, shell=True)
@@ -499,12 +500,12 @@ class RallyBase(testcase_base.TestcaseBase):
                                     'nb tests': total_nb_tests,
                                     'nb success': success_rate}})
 
-        self.criteria = ft_utils.check_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.criteria))
+                    % (self.case_name, success_rate, self.result))
 
     def _clean_up(self):
         if self.volume_type:
@@ -525,20 +526,20 @@ class RallyBase(testcase_base.TestcaseBase):
             self._run_tests()
             self._generate_report()
             self._clean_up()
+            res = testcase.TestCase.EX_OK
         except Exception as e:
             logger.error('Error with run: %s' % e)
-            return testcase_base.TestcaseBase.EX_RUN_ERROR
-        self.stop_time = time.time()
+            res = testcase.TestCase.EX_RUN_ERROR
 
-        # If we are here, it means that the test case was successfully executed
-        # criteria is managed by the criteria Field
-        return testcase_base.TestcaseBase.EX_OK
+        self.stop_time = time.time()
+        return res
 
 
 class RallySanity(RallyBase):
-    def __init__(self):
-        super(RallySanity, self).__init__()
-        self.case_name = 'rally_sanity'
+    def __init__(self, **kwargs):
+        if "case_name" not in kwargs:
+            kwargs["case_name"] = "rally_sanity"
+        super(RallySanity, self).__init__(**kwargs)
         self.mode = 'sanity'
         self.test_name = 'all'
         self.smoke = True
@@ -546,9 +547,10 @@ class RallySanity(RallyBase):
 
 
 class RallyFull(RallyBase):
-    def __init__(self):
-        super(RallyFull, self).__init__()
-        self.case_name = 'rally_full'
+    def __init__(self, **kwargs):
+        if "case_name" not in kwargs:
+            kwargs["case_name"] = "rally_full"
+        super(RallyFull, self).__init__(**kwargs)
         self.mode = 'full'
         self.test_name = 'all'
         self.smoke = False