"it again? [y|n]\n")
             while True:
                 if answer.lower() in ["y", "yes"]:
-                    os.remove(CONST.env_active)
+                    os.remove(CONST.__getattribute__('env_active'))
                     break
                 elif answer.lower() in ["n", "no"]:
                     return
                     answer = raw_input("Invalid answer. Please type [y|n]\n")
 
         cmd = ("python %s/functest/ci/prepare_env.py start" %
-               CONST.dir_repo_functest)
+               CONST.__getattribute__('dir_repo_functest'))
         ft_utils.execute_command(cmd)
 
     def show(self):
         def _get_value(attr, default='Unknown'):
             return attr if attr else default
 
-        install_type = _get_value(CONST.INSTALLER_TYPE)
-        installer_ip = _get_value(CONST.INSTALLER_IP)
+        install_type = _get_value(CONST.__getattribute__('INSTALLER_TYPE'))
+        installer_ip = _get_value(CONST.__getattribute__('INSTALLER_IP'))
         installer_info = ("%s, %s" % (install_type, installer_ip))
-        scenario = _get_value(CONST.DEPLOY_SCENARIO)
-        node = _get_value(CONST.NODE_NAME)
-        repo_h = git.Repo(CONST.dir_repo_functest).head
+        scenario = _get_value(CONST.__getattribute__('DEPLOY_SCENARIO'))
+        node = _get_value(CONST.__getattribute__('NODE_NAME'))
+        repo_h = git.Repo(CONST.__getattribute__('dir_repo_functest')).head
         if repo_h.is_detached:
             git_branch = 'detached from FETCH_HEAD'
             git_hash = repo_h.commit.hexsha
             branch = repo_h.reference
             git_branch = branch.name
             git_hash = branch.commit.hexsha
-        is_debug = _get_value(CONST.CI_DEBUG, 'false')
-        build_tag = CONST.BUILD_TAG
+        is_debug = _get_value(CONST.__getattribute__('CI_DEBUG'), 'false')
+        build_tag = CONST.__getattribute__('BUILD_TAG')
         if build_tag is not None:
             build_tag = build_tag.lstrip(
                 "jenkins-").lstrip("functest").lstrip("-")
 
     def status(self, verbose=True):
         ret_val = 0
-        if not os.path.isfile(CONST.env_active):
+        if not os.path.isfile(CONST.__getattribute__('env_active')):
             if verbose:
                 click.echo("Functest environment is not installed.\n")
             ret_val = 1
 
 class CliOpenStack(object):
 
     def __init__(self):
-        self.os_auth_url = CONST.OS_AUTH_URL
+        self.os_auth_url = CONST.__getattribute__('OS_AUTH_URL')
         self.endpoint_ip = None
         self.endpoint_port = None
-        self.openstack_creds = CONST.openstack_creds
-        self.snapshot_file = CONST.openstack_snapshot_file
+        self.openstack_creds = CONST.__getattribute__('openstack_creds')
+        self.snapshot_file = CONST.__getattribute__('openstack_snapshot_file')
         if self.os_auth_url:
             self.endpoint_ip = self.os_auth_url.rsplit("/")[2].rsplit(":")[0]
             self.endpoint_port = self.os_auth_url.rsplit("/")[2].rsplit(":")[1]
                 else:
                     answer = raw_input("Invalid answer. Please type [y|n]\n")
 
-        installer_type = CONST.INSTALLER_TYPE
+        installer_type = CONST.__getattribute__('INSTALLER_TYPE')
         if installer_type is None:
             click.echo("The environment variable 'INSTALLER_TYPE' is not"
                        "defined. Please export it")
-        installer_ip = CONST.INSTALLER_IP
+        installer_ip = CONST.__getattribute__('INSTALLER_IP')
         if installer_ip is None:
             click.echo("The environment variable 'INSTALLER_IP' is not"
                        "defined. Please export it")
         cmd = ("%s/releng/utils/fetch_os_creds.sh -d %s -i %s -a %s"
-               % (CONST.dir_repos,
+               % (CONST.__getattribute__('dir_repos'),
                   self.openstack_creds,
                   installer_type,
                   installer_ip))
 
     def check(self):
         self.ping_endpoint()
-        cmd = CONST.dir_repo_functest + "/functest/ci/check_os.sh"
+        cmd = os.path.join(CONST.__getattribute__('dir_repo_functest'),
+                           "functest/ci/check_os.sh")
         ft_utils.execute_command(cmd, verbose=False)
 
     def snapshot_create(self):
 
 class CliTestcase(object):
 
     def __init__(self):
-        self.tiers = tb.TierBuilder(CONST.INSTALLER_TYPE,
-                                    CONST.DEPLOY_SCENARIO,
-                                    CONST.functest_testcases_yaml)
+        self.tiers = tb.TierBuilder(
+            CONST.__getattribute__('INSTALLER_TYPE'),
+            CONST.__getattribute__('DEPLOY_SCENARIO'),
+            CONST.__getattribute__('functest_testcases_yaml'))
 
     def list(self):
         summary = ""
 
         if testname == 'vacation':
             vacation.main()
-        elif not os.path.isfile(CONST.env_active):
+        elif not os.path.isfile(CONST.__getattribute__('env_active')):
             click.echo("Functest environment is not ready. "
                        "Run first 'functest env prepare'")
         else:
             tests = testname.split(",")
             for test in tests:
                 cmd = ("python %s/functest/ci/run_tests.py "
-                       "%s -t %s" % (CONST.dir_repo_functest, flags, test))
+                       "%s -t %s" %
+                       (CONST.__getattribute__('dir_repo_functest'),
+                        flags, test))
                 ft_utils.execute_command(cmd)
 
 class CliTier(object):
 
     def __init__(self):
-        self.tiers = tb.TierBuilder(CONST.INSTALLER_TYPE,
-                                    CONST.DEPLOY_SCENARIO,
-                                    CONST.functest_testcases_yaml)
+        self.tiers = tb.TierBuilder(
+            CONST.__getattribute__('INSTALLER_TYPE'),
+            CONST.__getattribute__('DEPLOY_SCENARIO'),
+            CONST.__getattribute__('functest_testcases_yaml'))
 
     def list(self):
         summary = ""
         if report:
             flags += "-r "
 
-        if not os.path.isfile(CONST.env_active):
+        if not os.path.isfile(CONST.__getattribute__('env_active')):
             click.echo("Functest environment is not ready. "
                        "Run first 'functest env prepare'")
         else:
             cmd = ("python %s/functest/ci/run_tests.py "
-                   "%s -t %s" % (CONST.dir_repo_functest, flags, tiername))
+                   "%s -t %s" %
+                   (CONST.__getattribute__('dir_repo_functest'),
+                    flags, tiername))
             ft_utils.execute_command(cmd)
 
     @mock.patch('functest.cli.commands.cli_testcase.ft_utils.execute_command')
     def test_prepare_default(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/prepare_env.py start" %
-               CONST.dir_repo_functest)
+               CONST.__getattribute__('dir_repo_functest'))
         self.cli_environ.prepare()
         mock_ft_utils.assert_called_with(cmd)
 
                 mock.patch('functest.cli.commands.cli_testcase.os.remove') \
                 as mock_os_remove:
             cmd = ("python %s/functest/ci/prepare_env.py start" %
-                   CONST.dir_repo_functest)
+                   CONST.__getattribute__('dir_repo_functest'))
             self.cli_environ.prepare()
-            mock_os_remove.assert_called_once_with(CONST.env_active)
+            mock_os_remove.assert_called_once_with(
+                CONST.__getattribute__('env_active'))
             mock_ft_utils.assert_called_with(cmd)
 
     def _test_show_missing_env_var(self, var, *args):
         if var == 'INSTALLER_TYPE':
-            CONST.INSTALLER_TYPE = None
+            CONST.__setattr__('INSTALLER_TYPE', None)
             reg_string = "|  INSTALLER: Unknown, \S+\s*|"
         elif var == 'INSTALLER_IP':
-            CONST.INSTALLER_IP = None
+            CONST.__setattr__('INSTALLER_IP', None)
             reg_string = "|  INSTALLER: \S+, Unknown\s*|"
         elif var == 'SCENARIO':
-            CONST.DEPLOY_SCENARIO = None
+            CONST.__setattr__('DEPLOY_SCENARIO', None)
             reg_string = "|   SCENARIO: Unknown\s*|"
         elif var == 'NODE':
-            CONST.NODE_NAME = None
+            CONST.__setattr__('NODE_NAME', None)
             reg_string = "|        POD: Unknown\s*|"
         elif var == 'BUILD_TAG':
-            CONST.BUILD_TAG = None
+            CONST.__setattr__('BUILD_TAG', None)
             reg_string = "|  BUILD TAG: None|"
         elif var == 'DEBUG':
-            CONST.CI_DEBUG = None
+            CONST.__setattr__('CI_DEBUG', None)
             reg_string = "| DEBUG FLAG: false\s*|"
         elif var == 'STATUS':
             reg_string = "|     STATUS: not ready\s*|"
     @mock.patch('functest.cli.commands.cli_env.os.path.exists',
                 return_value=False)
     def test_show_missing_git_repo_dir(self, *args):
-        CONST.dir_repo_functest = None
+        CONST.__setattr__('dir_repo_functest', None)
         self.assertRaises(NoSuchPathError, lambda: self.cli_environ.show())
 
     @mock.patch('functest.cli.commands.cli_env.click.echo')
 
     def test_fetch_credentials_default(self, mock_click_echo,
                                        mock_os_path,
                                        mock_ftutils_execute):
-        CONST.INSTALLER_TYPE = self.installer_type
-        CONST.INSTALLER_IP = self.installer_ip
+        CONST.__setattr__('INSTALLER_TYPE', self.installer_type)
+        CONST.__setattr__('INSTALLER_IP', self.installer_ip)
         cmd = ("%s/releng/utils/fetch_os_creds.sh -d %s -i %s -a %s"
-               % (CONST.dir_repos,
+               % (CONST.__getattribute__('dir_repos'),
                   self.openstack_creds,
                   self.installer_type,
                   self.installer_ip))
     def test_fetch_credentials_missing_installer_type(self, mock_click_echo,
                                                       mock_os_path,
                                                       mock_ftutils_execute):
-        installer_type = None
-        installer_ip = self.installer_ip
-        CONST.INSTALLER_TYPE = installer_type
-        CONST.INSTALLER_IP = installer_ip
+        CONST.__setattr__('INSTALLER_TYPE', None)
+        CONST.__setattr__('INSTALLER_IP', self.installer_ip)
         cmd = ("%s/releng/utils/fetch_os_creds.sh -d %s -i %s -a %s"
-               % (CONST.dir_repos,
+               % (CONST.__getattribute__('dir_repos'),
                   self.openstack_creds,
-                  installer_type,
-                  installer_ip))
+                  None,
+                  self.installer_ip))
         self.cli_os.openstack_creds = self.openstack_creds
         self.cli_os.fetch_credentials()
         mock_click_echo.assert_any_call("The environment variable "
         mock_click_echo.assert_any_call("Fetching credentials from "
                                         "installer node '%s' with "
                                         "IP=%s.." %
-                                        (installer_type,
-                                         installer_ip))
+                                        (None,
+                                         self.installer_ip))
         mock_ftutils_execute.assert_called_once_with(cmd, verbose=False)
 
     @mock.patch('functest.cli.commands.cli_os.ft_utils.execute_command')
                                                     mock_ftutils_execute):
         installer_type = self.installer_type
         installer_ip = None
-        CONST.INSTALLER_TYPE = installer_type
-        CONST.INSTALLER_IP = installer_ip
+        CONST.__setattr__('INSTALLER_TYPE', installer_type)
+        CONST.__setattr__('INSTALLER_IP', installer_ip)
         cmd = ("%s/releng/utils/fetch_os_creds.sh -d %s -i %s -a %s"
-               % (CONST.dir_repos,
+               % (CONST.__getattribute__('dir_repos'),
                   self.openstack_creds,
                   installer_type,
                   installer_ip))
     @mock.patch('functest.cli.commands.cli_os.ft_utils.execute_command')
     def test_check(self, mock_ftutils_execute):
         with mock.patch.object(self.cli_os, 'ping_endpoint'):
-            CONST.dir_repo_functest = self.dir_repo_functest
-            cmd = CONST.dir_repo_functest + "/functest/ci/check_os.sh"
+            CONST.__setattr__('dir_repo_functest', self.dir_repo_functest)
+            cmd = os.path.join(CONST.__getattribute__('dir_repo_functest'),
+                               "functest/ci/check_os.sh")
             self.cli_os.check()
             mock_ftutils_execute.assert_called_once_with(cmd, verbose=False)
 
 
     @mock.patch('functest.cli.commands.cli_testcase.ft_utils.execute_command')
     def test_run_default(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "-n -r ", self.testname))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "-n -r ", self.testname))
         self.cli_tests.run(self.testname, noclean=True, report=True)
         mock_ft_utils.assert_called_with(cmd)
 
     @mock.patch('functest.cli.commands.cli_testcase.ft_utils.execute_command')
     def test_run_noclean_missing_report(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "-n ", self.testname))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "-n ", self.testname))
         self.cli_tests.run(self.testname, noclean=True, report=False)
         mock_ft_utils.assert_called_with(cmd)
 
     @mock.patch('functest.cli.commands.cli_testcase.ft_utils.execute_command')
     def test_run_report_missing_noclean(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "-r ", self.testname))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "-r ", self.testname))
         self.cli_tests.run(self.testname, noclean=False, report=True)
         mock_ft_utils.assert_called_with(cmd)
 
     @mock.patch('functest.cli.commands.cli_testcase.ft_utils.execute_command')
     def test_run_missing_noclean_report(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "", self.testname))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "", self.testname))
         self.cli_tests.run(self.testname, noclean=False, report=False)
         mock_ft_utils.assert_called_with(cmd)
 
 
     @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
     def test_run_default(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "-n -r ",
-                             self.tiername))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "-n -r ", self.tiername))
         self.cli_tier.run(self.tiername, noclean=True, report=True)
         mock_ft_utils.assert_called_with(cmd)
 
     @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
     def test_run_report_missing_noclean(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "-r ",
-                             self.tiername))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "-r ", self.tiername))
         self.cli_tier.run(self.tiername, noclean=False, report=True)
         mock_ft_utils.assert_called_with(cmd)
 
     @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
     def test_run_noclean_missing_report(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "-n ",
-                             self.tiername))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "-n ", self.tiername))
         self.cli_tier.run(self.tiername, noclean=True, report=False)
         mock_ft_utils.assert_called_with(cmd)
 
     @mock.patch('functest.cli.commands.cli_tier.ft_utils.execute_command')
     def test_run_missing_noclean_report(self, mock_ft_utils, mock_os):
         cmd = ("python %s/functest/ci/run_tests.py "
-               "%s -t %s" % (CONST.dir_repo_functest, "",
-                             self.tiername))
+               "%s -t %s" %
+               (CONST.__getattribute__('dir_repo_functest'),
+                "", self.tiername))
         self.cli_tier.run(self.tiername, noclean=False, report=False)
         mock_ft_utils.assert_called_with(cmd)