X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Futils%2Fenv.py;h=26efbb196acd739c719f45ee2146c75e87b72c26;hb=6b0fa7ecb5aa0c0dead1d16c2811f5c47347a091;hp=aaa5beaccf4b4926439ac0f32291c08fff1ef57b;hpb=fb85975fee7c3c67d3b10df58e4b742034fbd2ab;p=functest.git diff --git a/functest/utils/env.py b/functest/utils/env.py index aaa5beacc..26efbb196 100644 --- a/functest/utils/env.py +++ b/functest/utils/env.py @@ -1,53 +1,55 @@ #!/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'], + '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'], + 'ENERGY_RECORDER_API_URL': env.INPUTS['ENERGY_RECORDER_API_URL'], + 'ENERGY_RECORDER_API_USER': env.INPUTS['ENERGY_RECORDER_API_USER'], + 'ENERGY_RECORDER_API_PASSWORD': env.INPUTS['ENERGY_RECORDER_API_PASSWORD'], + 'VOLUME_DEVICE_NAME': 'vdb', + 'IMG_PROP': '', + 'NAMESERVER': '8.8.8.8', + 'NEW_USER_ROLE': 'Member', + 'USE_DYNAMIC_CREDENTIALS': 'True', + 'STORAGE_PROTOCOL': 'iSCSI' +} + + +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