aboutsummaryrefslogtreecommitdiffstats
path: root/functest/utils/env.py
diff options
context:
space:
mode:
Diffstat (limited to 'functest/utils/env.py')
-rw-r--r--functest/utils/env.py94
1 files changed, 51 insertions, 43 deletions
diff --git a/functest/utils/env.py b/functest/utils/env.py
index f0952500c..2e312726c 100644
--- a/functest/utils/env.py
+++ b/functest/utils/env.py
@@ -1,52 +1,60 @@
#!/usr/bin/env python
-import pkg_resources
-import os
-import re
-
-import six
-
-
-default_envs = {
- 'NODE_NAME': 'unknown_pod',
- 'CI_DEBUG': 'false',
- 'DEPLOY_SCENARIO': 'os-nosdn-nofeature-noha',
- 'DEPLOY_TYPE': 'virt',
- 'INSTALLER_TYPE': None,
- 'INSTALLER_IP': None,
- 'BUILD_TAG': None,
- 'OS_ENDPOINT_TYPE': None,
- 'OS_AUTH_URL': None,
- 'CONFIG_FUNCTEST_YAML': pkg_resources.resource_filename(
- 'functest', 'ci/config_functest.yaml'),
- 'OS_INSECURE': '',
- 'OS_REGION_NAME': 'RegionOne'
-}
+# Copyright (c) 2018 Orange and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+# pylint: disable=missing-docstring
-class Environment(object):
+import os
- def __init__(self):
- for k, v in six.iteritems(os.environ):
- self.__setattr__(k, v)
- for k, v in six.iteritems(default_envs):
- if k not in os.environ:
- self.__setattr__(k, v)
- self._set_ci_run()
- if 'CI_LOOP' not in os.environ:
- self._set_ci_loop()
+import prettytable
+from xtesting.utils import env
+
+INPUTS = {
+ 'EXTERNAL_NETWORK': None,
+ 'CI_LOOP': env.INPUTS['CI_LOOP'],
+ 'DEBUG': env.INPUTS['DEBUG'],
+ 'DEPLOY_SCENARIO': env.INPUTS['DEPLOY_SCENARIO'],
+ 'INSTALLER_TYPE': env.INPUTS['INSTALLER_TYPE'],
+ 'SDN_CONTROLLER_IP': None,
+ 'SDN_CONTROLLER_USER': 'admin',
+ 'SDN_CONTROLLER_PASSWORD': 'admin',
+ 'SDN_CONTROLLER_WEBPORT': '8080',
+ 'SDN_CONTROLLER_RESTCONFPORT': '8181',
+ 'BUILD_TAG': env.INPUTS['BUILD_TAG'],
+ 'NODE_NAME': env.INPUTS['NODE_NAME'],
+ 'POD_ARCH': None,
+ 'TEST_DB_URL': env.INPUTS['TEST_DB_URL'],
+ 'VOLUME_DEVICE_NAME': 'vdb',
+ 'IMAGE_PROPERTIES': '',
+ 'FLAVOR_EXTRA_SPECS': '',
+ 'NAMESERVER': '8.8.8.8',
+ 'NEW_USER_ROLE': 'Member',
+ 'USE_DYNAMIC_CREDENTIALS': 'True',
+ 'BLOCK_MIGRATION': 'False',
+ 'CLEAN_ORPHAN_SECURITY_GROUPS': 'True',
+ 'SKIP_DOWN_HYPERVISORS': 'False',
+ 'PUBLIC_ENDPOINT_ONLY': 'False',
+ 'DASHBOARD_URL': '',
+ 'VMTP_HYPERVISORS': '',
+ 'NO_TENANT_NETWORK': 'False'
+}
- def _set_ci_run(self):
- if self.BUILD_TAG:
- self.IS_CI_RUN = True
- else:
- self.IS_CI_RUN = False
- def _set_ci_loop(self):
- if self.BUILD_TAG and re.search("daily", self.BUILD_TAG):
- self.CI_LOOP = "daily"
- else:
- self.CI_LOOP = "weekly"
+def get(env_var):
+ if env_var not in INPUTS.keys():
+ return os.environ.get(env_var, None)
+ return os.environ.get(env_var, INPUTS[env_var])
-ENV = Environment()
+def string():
+ msg = prettytable.PrettyTable(
+ header_style='upper', padding_width=5,
+ field_names=['env var', 'value'])
+ for env_var in INPUTS:
+ msg.add_row([env_var, get(env_var) if get(env_var) else ''])
+ return msg