############################################################################## # Copyright 2018 EuropeanSoftwareMarketingLtd. # =================================================================== # Licensed under the ApacheLicense, Version2.0 (the"License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # # software distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and limitations under # the License ############################################################################## # vnftest comment: this is a modified copy of # yardstick/common/constants.py from __future__ import absolute_import import os import errno from functools import reduce import pkg_resources # this module must only import other modules that do # not require loggers to be created, so this cannot # include vnftest.common.utils from vnftest.common.yaml_loader import yaml_load dirname = os.path.dirname abspath = os.path.abspath join = os.path.join sep = os.path.sep CONF = {} CONF_FILE = None VNFTEST_ROOT_PATH = dirname( dirname(abspath(pkg_resources.resource_filename(__name__, "")))) + sep def get_param(key, default=''): # don't re-parse yaml for each lookup if not CONF: # we have to defer this to runtime so that we can mock os.environ.get in unittests default_path = os.path.join(VNFTEST_ROOT_PATH, "etc/vnftest/vnftest.yaml") conf_file = os.environ.get('CONF_FILE', default_path) # do not use vnftest.common.utils.parse_yaml # since vnftest.common.utils creates a logger # and so it cannot be imported before this code try: with open(conf_file) as f: value = yaml_load(f) except IOError: pass except OSError as e: if e.errno != errno.EEXIST: raise else: CONF.update(value) try: return reduce(lambda a, b: a[b], key.split('.'), CONF) except KeyError: if not default: raise return default try: SERVER_IP = get_param('api.server_ip') except KeyError: try: from pyroute2 import IPDB except ImportError: SERVER_IP = '172.17.0.1' else: with IPDB() as ip: try: SERVER_IP = ip.routes['default'].gateway except KeyError: # during unittests ip.routes['default'] can be invalid SERVER_IP = '127.0.0.1' if not SERVER_IP: SERVER_IP = '127.0.0.1' # dir CONF_DIR = get_param('dir.conf', join(VNFTEST_ROOT_PATH, 'etc/vnftest')) CONF_FILE = join(CONF_DIR, 'vnftest.conf') REPOS_DIR = get_param('dir.repos', join(VNFTEST_ROOT_PATH, 'home/onap/repos/vnftest')) LOG_DIR = get_param('dir.log', join(VNFTEST_ROOT_PATH, 'tmp/vnftest/')) TASK_LOG_DIR = get_param('dir.tasklog', join(VNFTEST_ROOT_PATH, 'var/log/vnftest/')) CONF_SAMPLE_DIR = join(REPOS_DIR, 'etc/vnftest/') SAMPLE_CASE_DIR = join(REPOS_DIR, 'samples') TESTCASE_DIR = join(VNFTEST_ROOT_PATH, 'tests/onap/test_cases/') TESTSUITE_DIR = join(VNFTEST_ROOT_PATH, 'tests/onap/test_suites/') # file DEFAULT_OUTPUT_FILE = get_param('file.output_file', join(VNFTEST_ROOT_PATH, 'tmp/vnftest.out')) DEFAULT_HTML_FILE = get_param('file.html_file', join(VNFTEST_ROOT_PATH, 'tmp/vnftest.htm')) REPORTING_FILE = get_param('file.reporting_file', join(VNFTEST_ROOT_PATH, 'tmp/report.html')) # components AAI_IP = get_param('component.aai_ip') AAI_PORT = get_param('component.aai_port') AAI_SSL_PORT = get_param('component.aai_ssl_port') MSO_IP = get_param('component.mso_ip') SDC_IP = get_param('component.sdc_ip') SDC_PORT = get_param('component.sdc_port') SDC_CATALOG_PORT = get_param('component.sdc_catalog_port') SDC_DESIGNER_USER = get_param('component.sdc_designer_user') SDC_TESTER_USER = get_param('component.sdc_tester_user') SDC_GOVERNANCE_USER = get_param('component.sdc_governance_user') SDC_OPERATIONS_USER = get_param('component.sdc_operations_user') component_constants = {} component_constants['aai_ip'] = AAI_IP component_constants['aai_port'] = AAI_PORT component_constants['aai_ssl_port'] = AAI_SSL_PORT component_constants['mso_ip'] = MSO_IP component_constants['sdc_ip'] = SDC_IP component_constants['sdc_port'] = SDC_PORT component_constants['sdc_catalog_port'] = SDC_CATALOG_PORT component_constants['sdc_designer_user'] = SDC_DESIGNER_USER component_constants['sdc_tester_user'] = SDC_TESTER_USER component_constants['sdc_governance_user'] = SDC_GOVERNANCE_USER component_constants['sdc_operations_user'] = SDC_OPERATIONS_USER # api API_PORT = 5000 DOCKER_URL = 'unix://var/run/docker.sock' SQLITE = 'sqlite:////tmp/vnftest.db' API_SUCCESS = 1 API_ERROR = 2 TASK_NOT_DONE = 0 TASK_DONE = 1 TASK_FAILED = 2 BASE_URL = 'http://localhost:5000' ENV_ACTION_API = BASE_URL + '/vnftest/env/action' ASYNC_TASK_API = BASE_URL + '/vnftest/asynctask' # general TESTCASE_PRE = 'onap_vnftest_' TESTSUITE_PRE = 'onap_'