Inject all envs in openrc into CONST 27/49027/2
authorLinda Wang <wangwulin@huawei.com>
Fri, 15 Dec 2017 02:57:26 +0000 (02:57 +0000)
committerLinda Wang <wangwulin@huawei.com>
Fri, 15 Dec 2017 03:57:36 +0000 (03:57 +0000)
After "env_prepare" is removed, some specific vars in openrc
(eg,."EXTERNAL_NETWORK") loaded to os.environ should be injected
into CONST in one python process.

Change-Id: Iaa5c6047033dc2a30c533174e2016111759aec31
Signed-off-by: Linda Wang <wangwulin@huawei.com>
functest/ci/run_tests.py
functest/utils/openstack_utils.py

index b8da3be..c8143f1 100644 (file)
@@ -19,7 +19,6 @@ import sys
 import textwrap
 
 import prettytable
-import six
 
 import functest.ci.tier_builder as tb
 import functest.core.testcase as testcase
@@ -86,18 +85,6 @@ class Runner(object):
             raise Exception("RC file %s does not exist..." % rc_file)
         logger.debug("Sourcing the OpenStack RC file...")
         os_utils.source_credentials(rc_file)
-        for key, value in six.iteritems(os.environ):
-            if re.search("OS_", key):
-                if key == 'OS_AUTH_URL':
-                    CONST.__setattr__('OS_AUTH_URL', value)
-                elif key == 'OS_USERNAME':
-                    CONST.__setattr__('OS_USERNAME', value)
-                elif key == 'OS_TENANT_NAME':
-                    CONST.__setattr__('OS_TENANT_NAME', value)
-                elif key == 'OS_PASSWORD':
-                    CONST.__setattr__('OS_PASSWORD', value)
-                elif key == "OS_PROJECT_DOMAIN_NAME":
-                    CONST.__setattr__('OS_PROJECT_DOMAIN_NAME', value)
 
     @staticmethod
     def get_run_dict(testname):
index b479198..1d7cdaf 100644 (file)
@@ -127,6 +127,7 @@ def source_credentials(rc_file):
                 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={}):