Force region to RegionOne if OS_REGION_NAME is unset
[functest.git] / functest / opnfv_tests / vnf / ims / cloudify_ims.py
index 711cd82..786c535 100644 (file)
@@ -19,8 +19,7 @@ import uuid
 from cloudify_rest_client import CloudifyClient
 from cloudify_rest_client.executions import Execution
 from scp import SCPClient
-import yaml
-
+import six
 from snaps.config.flavor import FlavorConfig
 from snaps.config.image import ImageConfig
 from snaps.config.keypair import KeypairConfig
@@ -40,9 +39,10 @@ from snaps.openstack.create_security_group import OpenStackSecurityGroup
 from snaps.openstack.create_user import OpenStackUser
 from snaps.openstack.utils import keystone_utils
 from xtesting.energy import energy
+import yaml
 
 from functest.opnfv_tests.openstack.snaps import snaps_utils
-import functest.opnfv_tests.vnf.ims.clearwater_ims_base as clearwater_ims_base
+from functest.opnfv_tests.vnf.ims import clearwater_ims_base
 from functest.utils import config
 from functest.utils import env
 
@@ -165,7 +165,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
 
         # needs some images
         self.__logger.info("Upload some OS images if it doesn't exist")
-        for image_name, image_file in self.images.iteritems():
+        for image_name, image_file in six.iteritems(self.images):
             self.__logger.info("image: %s, file: %s", image_name, image_file)
             if image_file and image_name:
                 image_creator = OpenStackImage(
@@ -250,14 +250,16 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
             keystone_password=snaps_creds.password,
             keystone_tenant_name=snaps_creds.project_name,
             keystone_url=public_auth_url,
-            region=snaps_creds.region_name,
+            region=snaps_creds.region_name if snaps_creds.region_name else (
+                'RegionOne'),
             user_domain_name=snaps_creds.user_domain_name,
             project_domain_name=snaps_creds.project_domain_name)
         self.__logger.info("Set creds for cloudify manager %s", cfy_creds)
 
         cfy_client = CloudifyClient(
             host=manager_creator.get_floating_ip().ip,
-            username='admin', password='admin', tenant='default_tenant')
+            username='admin', password='admin', tenant='default_tenant',
+            api_version='v3')
 
         self.orchestrator['object'] = cfy_client
 
@@ -273,7 +275,7 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
                     raise Exception("Cloudify Manager isn't up and running")
                 self.__logger.info("Put OpenStack creds in manager")
                 secrets_list = cfy_client.secrets.list()
-                for k, val in cfy_creds.iteritems():
+                for k, val in six.iteritems(cfy_creds):
                     if not any(d.get('key', None) == k for d in secrets_list):
                         cfy_client.secrets.create(k, val)
                     else:
@@ -347,11 +349,10 @@ class CloudifyIms(clearwater_ims_base.ClearwaterOnBoardingBase):
                                       descriptor.get('name'),
                                       self.vnf.get('inputs'))
 
-        wait_for_execution(cfy_client,
-                           _get_deployment_environment_creation_execution(
-                               cfy_client, descriptor.get('name')),
-                           self.__logger,
-                           timeout=300)
+        wait_for_execution(
+            cfy_client,
+            get_execution_id(cfy_client, descriptor.get('name')),
+            self.__logger, timeout=300)
 
         self.__logger.info("Start the VNF Instance deployment")
         execution = cfy_client.executions.start(descriptor.get('name'),
@@ -529,7 +530,7 @@ def wait_for_execution(client, execution, logger, timeout=3600, ):
     return execution
 
 
-def _get_deployment_environment_creation_execution(client, deployment_id):
+def get_execution_id(client, deployment_id):
     """
     Get the execution id of a env preparation.