X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Futils%2Ffunctest_utils.py;h=dbed811a7e09b445fc14015da9b8cb1d72d63e24;hb=f8c0ae3d732cb423902c1de5caec262a98b044b6;hp=b1e4d3cdb832ae6394b7ea903ad2884415c50403;hpb=13a6297089972c74a0be6030c687d51c8efd2e3f;p=functest.git diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index b1e4d3cdb..dbed811a7 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -7,12 +7,14 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 # +import functools import json import os import re import shutil import subprocess import sys +import time import urllib2 from datetime import datetime as dt @@ -21,9 +23,7 @@ import requests import yaml from git import Repo -import time -import functools - +from functest.utils import decorators import functest.utils.functest_logger as ft_logger logger = ft_logger.Logger("functest_utils").getLogger() @@ -95,8 +95,9 @@ def get_scenario(): try: scenario = os.environ['DEPLOY_SCENARIO'] except KeyError: - logger.error("Impossible to retrieve the scenario") - scenario = "Unknown_scenario" + logger.info("Impossible to retrieve the scenario." + "Use default os-nosdn-nofeature-noha") + scenario = "os-nosdn-nofeature-noha" return scenario @@ -127,7 +128,7 @@ def get_pod_name(): try: return os.environ['NODE_NAME'] except KeyError: - logger.error( + logger.info( "Unable to retrieve the POD name from environment. " + "Using pod name 'unknown-pod'") return "unknown-pod" @@ -140,8 +141,8 @@ def get_build_tag(): try: build_tag = os.environ['BUILD_TAG'] except KeyError: - logger.error("Impossible to retrieve the build tag") - build_tag = "unknown_build_tag" + logger.info("Impossible to retrieve the build tag") + build_tag = "none" return build_tag @@ -182,6 +183,7 @@ def logger_test_results(project, case_name, status, details): 'd': details}) +@decorators.can_dump_request_to_file def push_results_to_db(project, case_name, start_date, stop_date, criteria, details): """ @@ -268,7 +270,7 @@ def get_resolvconf_ns(): while line: ip = re.search(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line) if ip: - resolver.nameservers = [str(ip)] + resolver.nameservers = [ip.group(0)] try: result = resolver.query('opnfv.org')[0] if result != "": @@ -289,6 +291,13 @@ def get_ci_envvars(): return ci_env_var +def execute_command_raise(cmd, info=False, error_msg="", + verbose=True, output_file=None): + ret = execute_command(cmd, info, error_msg, verbose, output_file) + if ret != 0: + raise Exception(error_msg) + + def execute_command(cmd, info=False, error_msg="", verbose=True, output_file=None): if not error_msg: @@ -321,26 +330,6 @@ def execute_command(cmd, info=False, error_msg="", return returncode -def get_deployment_dir(): - """ - Returns current Rally deployment directory - """ - deployment_name = get_functest_config('rally.deployment_name') - rally_dir = get_functest_config('general.directories.dir_rally_inst') - cmd = ("rally deployment list | awk '/" + deployment_name + - "/ {print $2}'") - p = subprocess.Popen(cmd, shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) - deployment_uuid = p.stdout.readline().rstrip() - if deployment_uuid == "": - logger.error("Rally deployment not found.") - exit(-1) - deployment_dir = (rally_dir + "/tempest/for-deployment-" + - deployment_uuid) - return deployment_dir - - def get_dict_by_test(testname): with open(get_testcases_file_dir()) as f: testcases_yaml = yaml.safe_load(f) @@ -380,7 +369,7 @@ def get_parameter_from_yaml(parameter, file): value = value.get(element) if value is None: raise ValueError("The parameter %s is not defined in" - " config_functest.yaml" % parameter) + " %s" % (parameter, file)) return value