From 1ab10b89fececb20df1c4d3eac4ec0f79ae83aac Mon Sep 17 00:00:00 2001 From: Alexander Gorelik Date: Tue, 24 Aug 2021 21:37:12 +0300 Subject: [PATCH] Apply keys and values from extra_vars to experiment configurations --- chaoslib/configuration.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chaoslib/configuration.py b/chaoslib/configuration.py index f9e6c24..6bc5aec 100644 --- a/chaoslib/configuration.py +++ b/chaoslib/configuration.py @@ -50,13 +50,16 @@ def load_configuration(config_info: Dict[str, str], values from the experiment itself. This is useful to the Chaos Toolkit CLI mostly to allow overriding values directly from cli arguments. It's seldom required otherwise. + If keys that defined in `extra_vars` were not defined in the experiment + itslef, they will be merged into the experiment. """ logger.debug("Loading configuration...") env = os.environ extra_vars = extra_vars or {} conf = {} - for (key, value) in config_info.items(): + iterable = [config_info.items(),extra_vars.items()] + for (key, value) in itertools.chain(*iterable): if isinstance(value, dict) and "type" in value: if value["type"] == "env": env_key = value["key"]