Merge "Enhance variable manipulation in rally"
[functest.git] / functest / utils / openstack_utils.py
index 1d7cdaf..b779997 100644 (file)
@@ -10,7 +10,6 @@
 
 import logging
 import os.path
-import re
 import sys
 import time
 
@@ -115,21 +114,6 @@ def get_credentials(other_creds={}):
     return creds
 
 
-def source_credentials(rc_file):
-    with open(rc_file, "r") as f:
-        for line in f:
-            var = (line.rstrip('"\n').replace('export ', '').split("=")
-                   if re.search(r'(.*)=(.*)', line) else None)
-            # The two next lines should be modified as soon as rc_file
-            # conforms with common rules. Be aware that it could induce
-            # issues if value starts with '
-            if var:
-                key = re.sub(r'^["\' ]*|[ \'"]*$', '', var[0])
-                value = re.sub(r'^["\' ]*|[ \'"]*$', '', "".join(var[1:]))
-                os.environ[key] = value
-                CONST.__setattr__(key, value)
-
-
 def get_session_auth(other_creds={}):
     loader = loading.get_plugin_loader('password')
     creds = get_credentials(other_creds)
@@ -519,7 +503,10 @@ def create_instance_and_wait_for_active(flavor_name,
     count = VM_BOOT_TIMEOUT / SLEEP
     for n in range(count, -1, -1):
         status = get_instance_status(nova_client, instance)
-        if status.lower() == "active":
+        if status is None:
+            time.sleep(SLEEP)
+            continue
+        elif status.lower() == "active":
             return instance
         elif status.lower() == "error":
             logger.error("The instance %s went to ERROR status."
@@ -1333,7 +1320,7 @@ def get_domain_id(keystone_client, domain_name):
 def create_tenant(keystone_client, tenant_name, tenant_description):
     try:
         if is_keystone_v3():
-            domain_name = CONST.__getattribute__('OS_PROJECT_DOMAIN_NAME')
+            domain_name = os.environ['OS_PROJECT_DOMAIN_NAME']
             domain_id = get_domain_id(keystone_client, domain_name)
             tenant = keystone_client.projects.create(
                 name=tenant_name,