[odl-sfc] Add function to retrieve a resource from HEAT
[functest.git] / functest / utils / functest_utils.py
index 1879e69..dbed811 100644 (file)
@@ -23,6 +23,7 @@ import requests
 import yaml
 from git import Repo
 
+from functest.utils import decorators
 import functest.utils.functest_logger as ft_logger
 
 logger = ft_logger.Logger("functest_utils").getLogger()
@@ -94,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
 
@@ -126,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"
@@ -139,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
 
@@ -181,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):
     """
@@ -267,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 != "":
@@ -288,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:
@@ -359,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