NFVBENCH-155 Add options to disable extra stats, latency stats and latency streams
[nfvbench.git] / nfvbench / config.py
index 8139389..dba0962 100644 (file)
@@ -14,9 +14,9 @@
 #
 
 from attrdict import AttrDict
-from log import LOG
 import yaml
 
+from log import LOG
 
 def config_load(file_name, from_cfg=None, whitelist_keys=None):
     """Load a yaml file into a config dict, merge with from_cfg if not None
@@ -43,10 +43,16 @@ def config_loads(cfg_text, from_cfg=None, whitelist_keys=None):
     """Same as config_load but load from a string
     """
     try:
-        cfg = AttrDict(yaml.load(cfg_text))
+        cfg = AttrDict(yaml.safe_load(cfg_text))
     except TypeError:
         # empty string
         cfg = AttrDict()
+    except ValueError as e:
+        # In case of wrong path or file not readable or string not well formatted
+        LOG.error("String %s is not well formatted. Please verify your yaml/json string. "
+                  "If string is a file path, file was not found. Please use correct path and "
+                  "verify it is visible to container if you run nfvbench in container.", cfg_text)
+        raise Exception(e)
     if from_cfg:
         if not whitelist_keys:
             whitelist_keys = []