Conform with latest SUT updates
[functest.git] / functest / utils / env.py
index aaa5bea..652613c 100644 (file)
@@ -1,53 +1,58 @@
 #!/usr/bin/env python
 
+# 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
 
 import os
-import re
-
-import pkg_resources
-import six
-
-
-class Environment(object):  # pylint: disable=too-few-public-methods
-
-    default_envs = {
-        'NODE_NAME': 'unknown_pod',
-        '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'
-    }
-
-    def __init__(self):
-        for key, value in six.iteritems(os.environ):
-            setattr(self, key, value)
-        for key, value in six.iteritems(self.default_envs):
-            if key not in os.environ:
-                setattr(self, key, value)
-        self._set_ci_run()
-        if 'CI_LOOP' not in os.environ:
-            self._set_ci_loop()
-
-    def _set_ci_run(self):
-        if getattr(self, "BUILD_TAG"):
-            setattr(self, "IS_CI_RUN", True)
-        else:
-            setattr(self, "IS_CI_RUN", False)
-
-    def _set_ci_loop(self):
-        if (getattr(self, "BUILD_TAG") and
-                re.search("daily", getattr(self, "BUILD_TAG"))):
-            setattr(self, "CI_LOOP", "daily")
-        else:
-            setattr(self, "CI_LOOP", "weekly")
-
-
-ENV = Environment()
+
+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': ''
+}
+
+
+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])
+
+
+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