X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=nfvbench%2Fconfig.py;h=4cc9c8686914c636d0c0b456193cf86eece566a1;hb=95f2491ed89ac99b0d8bd006b4a13cbeb1eb96ce;hp=5feeda5c608406b13ce080bd59b75db489411366;hpb=efc678c9d3843dcfd373b5749a88c51228b0b27c;p=nfvbench.git diff --git a/nfvbench/config.py b/nfvbench/config.py index 5feeda5..4cc9c86 100644 --- a/nfvbench/config.py +++ b/nfvbench/config.py @@ -16,7 +16,7 @@ from attrdict import AttrDict import yaml -from log import LOG +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 = [] @@ -58,7 +64,7 @@ def config_loads(cfg_text, from_cfg=None, whitelist_keys=None): def _validate_config(subset, superset, whitelist_keys): def get_err_config(subset, superset): result = {} - for k, v in subset.items(): + for k, v in list(subset.items()): if k not in whitelist_keys: if k not in superset: result.update({k: v})