Merge changes from topic 'refactor_tempest'
[functest.git] / functest / opnfv_tests / openstack / rally / rally.py
index 2632fd3..1502d58 100644 (file)
@@ -22,21 +22,20 @@ import uuid
 
 import pkg_resources
 import prettytable
 
 import pkg_resources
 import prettytable
-import yaml
-
-from functest.core import testcase
-from functest.energy import energy
-from functest.opnfv_tests.openstack.snaps import snaps_utils
-from functest.opnfv_tests.openstack.tempest import conf_utils
-from functest.utils.constants import CONST
-
 from snaps.config.flavor import FlavorConfig
 from snaps.config.image import ImageConfig
 from snaps.config.network import NetworkConfig, SubnetConfig
 from snaps.config.router import RouterConfig
 from snaps.config.flavor import FlavorConfig
 from snaps.config.image import ImageConfig
 from snaps.config.network import NetworkConfig, SubnetConfig
 from snaps.config.router import RouterConfig
-
 from snaps.openstack.create_flavor import OpenStackFlavor
 from snaps.openstack.utils import deploy_utils
 from snaps.openstack.create_flavor import OpenStackFlavor
 from snaps.openstack.utils import deploy_utils
+from xtesting.core import testcase
+from xtesting.energy import energy
+import yaml
+
+from functest.opnfv_tests.openstack.snaps import snaps_utils
+from functest.opnfv_tests.openstack.tempest import conf_utils
+from functest.utils import config
+from functest.utils import env
 
 LOGGER = logging.getLogger(__name__)
 
 
 LOGGER = logging.getLogger(__name__)
 
@@ -47,19 +46,19 @@ class RallyBase(testcase.TestCase):
     # pylint: disable=too-many-instance-attributes
     TESTS = ['authenticate', 'glance', 'ceilometer', 'cinder', 'heat',
              'keystone', 'neutron', 'nova', 'quotas', 'vm', 'all']
     # pylint: disable=too-many-instance-attributes
     TESTS = ['authenticate', 'glance', 'ceilometer', 'cinder', 'heat',
              'keystone', 'neutron', 'nova', 'quotas', 'vm', 'all']
-    GLANCE_IMAGE_NAME = getattr(CONST, 'openstack_image_name')
-    GLANCE_IMAGE_FILENAME = getattr(CONST, 'openstack_image_file_name')
-    GLANCE_IMAGE_PATH = os.path.join(getattr(CONST, 'dir_functest_images'),
-                                     GLANCE_IMAGE_FILENAME)
-    GLANCE_IMAGE_FORMAT = getattr(CONST, 'openstack_image_disk_format')
-    GLANCE_IMAGE_USERNAME = getattr(CONST, 'openstack_image_username')
-    GLANCE_IMAGE_EXTRA_PROPERTIES = getattr(CONST,
-                                            'openstack_extra_properties', {})
-    FLAVOR_NAME = getattr(CONST, 'rally_flavor_name')
-    FLAVOR_ALT_NAME = getattr(CONST, 'rally_flavor_alt_name')
+    GLANCE_IMAGE_NAME = getattr(config.CONF, 'openstack_image_name')
+    GLANCE_IMAGE_FILENAME = getattr(config.CONF, 'openstack_image_file_name')
+    GLANCE_IMAGE_PATH = os.path.join(getattr(
+        config.CONF, 'dir_functest_images'), GLANCE_IMAGE_FILENAME)
+    GLANCE_IMAGE_FORMAT = getattr(config.CONF, 'openstack_image_disk_format')
+    GLANCE_IMAGE_USERNAME = getattr(config.CONF, 'openstack_image_username')
+    GLANCE_IMAGE_EXTRA_PROPERTIES = getattr(
+        config.CONF, 'openstack_extra_properties', {})
+    FLAVOR_NAME = getattr(config.CONF, 'rally_flavor_name')
+    FLAVOR_ALT_NAME = getattr(config.CONF, 'rally_flavor_alt_name')
     FLAVOR_RAM = 512
     FLAVOR_RAM_ALT = 1024
     FLAVOR_RAM = 512
     FLAVOR_RAM_ALT = 1024
-    FLAVOR_EXTRA_SPECS = getattr(CONST, 'flavor_extra_specs', None)
+    FLAVOR_EXTRA_SPECS = getattr(config.CONF, 'flavor_extra_specs', None)
     if FLAVOR_EXTRA_SPECS:
         FLAVOR_RAM = 1024
         FLAVOR_RAM_ALT = 2048
     if FLAVOR_EXTRA_SPECS:
         FLAVOR_RAM = 1024
         FLAVOR_RAM_ALT = 2048
@@ -76,14 +75,14 @@ class RallyBase(testcase.TestCase):
     TENANTS_AMOUNT = 3
     ITERATIONS_AMOUNT = 10
     CONCURRENCY = 4
     TENANTS_AMOUNT = 3
     ITERATIONS_AMOUNT = 10
     CONCURRENCY = 4
-    RESULTS_DIR = os.path.join(getattr(CONST, 'dir_results'), 'rally')
+    RESULTS_DIR = os.path.join(getattr(config.CONF, 'dir_results'), 'rally')
     BLACKLIST_FILE = os.path.join(RALLY_DIR, "blacklist.txt")
     TEMP_DIR = os.path.join(RALLY_DIR, "var")
 
     BLACKLIST_FILE = os.path.join(RALLY_DIR, "blacklist.txt")
     TEMP_DIR = os.path.join(RALLY_DIR, "var")
 
-    RALLY_PRIVATE_NET_NAME = getattr(CONST, 'rally_network_name')
-    RALLY_PRIVATE_SUBNET_NAME = getattr(CONST, 'rally_subnet_name')
-    RALLY_PRIVATE_SUBNET_CIDR = getattr(CONST, 'rally_subnet_cidr')
-    RALLY_ROUTER_NAME = getattr(CONST, 'rally_router_name')
+    RALLY_PRIVATE_NET_NAME = getattr(config.CONF, 'rally_network_name')
+    RALLY_PRIVATE_SUBNET_NAME = getattr(config.CONF, 'rally_subnet_name')
+    RALLY_PRIVATE_SUBNET_CIDR = getattr(config.CONF, 'rally_subnet_cidr')
+    RALLY_ROUTER_NAME = getattr(config.CONF, 'rally_router_name')
 
     def __init__(self, **kwargs):
         """Initialize RallyBase object."""
 
     def __init__(self, **kwargs):
         """Initialize RallyBase object."""
@@ -109,13 +108,13 @@ class RallyBase(testcase.TestCase):
     def _build_task_args(self, test_file_name):
         """Build arguments for the Rally task."""
         task_args = {'service_list': [test_file_name]}
     def _build_task_args(self, test_file_name):
         """Build arguments for the Rally task."""
         task_args = {'service_list': [test_file_name]}
-        task_args['image_name'] = self.image_name
-        task_args['flavor_name'] = self.flavor_name
-        task_args['flavor_alt_name'] = self.flavor_alt_name
-        task_args['glance_image_location'] = self.GLANCE_IMAGE_PATH
-        task_args['glance_image_format'] = self.GLANCE_IMAGE_FORMAT
-        task_args['tmpl_dir'] = self.TEMPLATE_DIR
-        task_args['sup_dir'] = self.SUPPORT_DIR
+        task_args['image_name'] = str(self.image_name)
+        task_args['flavor_name'] = str(self.flavor_name)
+        task_args['flavor_alt_name'] = str(self.flavor_alt_name)
+        task_args['glance_image_location'] = str(self.GLANCE_IMAGE_PATH)
+        task_args['glance_image_format'] = str(self.GLANCE_IMAGE_FORMAT)
+        task_args['tmpl_dir'] = str(self.TEMPLATE_DIR)
+        task_args['sup_dir'] = str(self.SUPPORT_DIR)
         task_args['users_amount'] = self.USERS_AMOUNT
         task_args['tenants_amount'] = self.TENANTS_AMOUNT
         task_args['use_existing_users'] = False
         task_args['users_amount'] = self.USERS_AMOUNT
         task_args['tenants_amount'] = self.TENANTS_AMOUNT
         task_args['use_existing_users'] = False
@@ -190,7 +189,7 @@ class RallyBase(testcase.TestCase):
                 return False
 
             for result in report.get('result'):
                 return False
 
             for result in report.get('result'):
-                if result is None or len(result.get('error')) > 0:
+                if result is None or result.get('error'):
                     return False
 
         return True
                     return False
 
         return True
@@ -218,8 +217,8 @@ class RallyBase(testcase.TestCase):
             with open(RallyBase.BLACKLIST_FILE, 'r') as black_list_file:
                 black_list_yaml = yaml.safe_load(black_list_file)
 
             with open(RallyBase.BLACKLIST_FILE, 'r') as black_list_file:
                 black_list_yaml = yaml.safe_load(black_list_file)
 
-            installer_type = os.getenv('INSTALLER_TYPE', None)
-            deploy_scenario = os.getenv('DEPLOY_SCENARIO', None)
+            installer_type = env.get('INSTALLER_TYPE')
+            deploy_scenario = env.get('DEPLOY_SCENARIO')
             if (bool(installer_type) and bool(deploy_scenario) and
                     'scenario' in black_list_yaml.keys()):
                 for item in black_list_yaml['scenario']:
             if (bool(installer_type) and bool(deploy_scenario) and
                     'scenario' in black_list_yaml.keys()):
                 for item in black_list_yaml['scenario']:
@@ -450,9 +449,11 @@ class RallyBase(testcase.TestCase):
 
         LOGGER.debug("Creating network '%s'...", network_name)
 
 
         LOGGER.debug("Creating network '%s'...", network_name)
 
-        rally_network_type = getattr(CONST, 'rally_network_type', None)
-        rally_physical_network = getattr(CONST, 'rally_physical_network', None)
-        rally_segmentation_id = getattr(CONST, 'rally_segmentation_id', None)
+        rally_network_type = getattr(config.CONF, 'rally_network_type', None)
+        rally_physical_network = getattr(
+            config.CONF, 'rally_physical_network', None)
+        rally_segmentation_id = getattr(
+            config.CONF, 'rally_segmentation_id', None)
 
         network_creator = deploy_utils.create_network(
             self.os_creds, NetworkConfig(
 
         network_creator = deploy_utils.create_network(
             self.os_creds, NetworkConfig(
@@ -463,7 +464,8 @@ class RallyBase(testcase.TestCase):
                 segmentation_id=rally_segmentation_id,
                 subnet_settings=[SubnetConfig(
                     name=subnet_name,
                 segmentation_id=rally_segmentation_id,
                 subnet_settings=[SubnetConfig(
                     name=subnet_name,
-                    cidr=self.RALLY_PRIVATE_SUBNET_CIDR)]))
+                    cidr=self.RALLY_PRIVATE_SUBNET_CIDR,
+                    dns_nameservers=[env.get('NAMESERVER')])]))
         if network_creator is None:
             raise Exception("Failed to create private network")
         self.priv_net_id = network_creator.get_network().id
         if network_creator is None:
             raise Exception("Failed to create private network")
         self.priv_net_id = network_creator.get_network().id