X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Futils%2Ffunctest_utils.py;h=bf68e43a39484a6cff5dbb7751cfaa796c66b47e;hb=161d40585a25291da548dfdade2838974e86ad58;hp=284c79719e72ceefcf144e8c0c06a8aa08eff569;hpb=efbe74c4cc1b6b6982e9e13950319f690541d6a3;p=functest.git diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index 284c79719..bf68e43a3 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -11,6 +11,7 @@ import functools import json import logging import os +import pkg_resources import re import shutil import subprocess @@ -22,10 +23,10 @@ import dns.resolver import requests from six.moves import urllib import yaml -from git import Repo from functest.utils import constants from functest.utils import decorators +from functest.utils.constants import CONST logger = logging.getLogger(__name__) @@ -67,15 +68,6 @@ def download_url(url, dest_path): # CI UTILS # # ----------------------------------------------------------- -def get_git_branch(repo_path): - """ - Get git branch name - """ - repo = Repo(repo_path) - branch = repo.active_branch - return branch.name - - def get_installer_type(): """ Get installer type (fuel, apex, joid, compass) @@ -115,7 +107,9 @@ def get_version(): # jenkins-functest-fuel-baremetal-weekly-master-8 # use regex to match branch info rule = "(dai|week)ly-(.+?)-[0-9]*" - build_tag = get_build_tag() + build_tag = CONST.__getattribute__('BUILD_TAG') + if not build_tag: + build_tag = 'none' m = re.search(rule, build_tag) if m: return m.group(2) @@ -136,37 +130,15 @@ def get_pod_name(): return "unknown-pod" -def get_build_tag(): - """ - Get build tag of jenkins jobs - """ - try: - build_tag = os.environ['BUILD_TAG'] - except KeyError: - logger.info("Impossible to retrieve the build tag") - build_tag = "none" - - return build_tag - - -def get_db_url(): +def logger_test_results(project, case_name, status, details): """ - Returns DB URL + Format test case results for the logger """ - # TODO use CONST mechanism - try: - # if TEST_DB_URL declared in env variable, use it! - db_url = os.environ['TEST_DB_URL'] - except KeyError: - db_url = get_functest_config('results.test_db_url') - return db_url - - -def logger_test_results(project, case_name, status, details): pod_name = get_pod_name() scenario = get_scenario() version = get_version() - build_tag = get_build_tag() + build_tag = CONST.__getattribute__('BUILD_TAG') + db_url = CONST.__getattribute__("results_test_db_url") logger.info( "\n" @@ -182,7 +154,7 @@ def logger_test_results(project, case_name, status, details): "details:\t%(d)s\n" % {'p': project, 'n': case_name, - 'db': get_db_url(), + 'db': db_url, 'pod': pod_name, 'v': version, 's': scenario, @@ -198,7 +170,7 @@ def push_results_to_db(project, case_name, POST results to the Result target DB """ # Retrieve params from CI and conf - url = get_db_url() + url = CONST.__getattribute__("results_test_db_url") try: installer = os.environ['INSTALLER_TYPE'] @@ -221,7 +193,8 @@ def push_results_to_db(project, case_name, error = None headers = {'Content-Type': 'application/json'} try: - r = requests.post(url, data=json.dumps(params), headers=headers) + r = requests.post(url, data=json.dumps(params, sort_keys=True), + headers=headers) logger.debug(r) r.raise_for_status() except requests.RequestException as exc: @@ -333,7 +306,8 @@ def execute_command(cmd, info=False, error_msg="", def get_dict_by_test(testname): - with open(get_testcases_file_dir()) as f: + with open(pkg_resources.resource_filename( + 'functest', 'ci/testcases.yaml')) as f: testcases_yaml = yaml.safe_load(f) for dic_tier in testcases_yaml.get("tiers"): @@ -393,10 +367,6 @@ def merge_dicts(dict1, dict2): yield (k, dict2[k]) -def get_testcases_file_dir(): - return get_functest_config('general.functest.testcases_yaml') - - def get_functest_yaml(): with open(constants.CONST.__getattribute__('CONFIG_FUNCTEST_YAML')) as f: functest_yaml = yaml.safe_load(f)