summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Skalski <mskalski@mirantis.com>2016-08-11 08:37:42 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-08-11 08:37:42 +0000
commit91c1fe20f85a09d40e095ae7feaae872eb25b0fa (patch)
treeafca8bd0c6a4d39db0fe04ea1ccdaa068ccaab97
parentf96b162d0b7ab0839a5961a23f5f57cf320168e4 (diff)
parentfd4977664a2ab2e4be5745fbaf3e3c9f9dca6796 (diff)
Merge "Fix merge_dicts logic for the case of two nonempty lists"
-rw-r--r--deploy/deploy-config.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/deploy/deploy-config.py b/deploy/deploy-config.py
index c59957540..ee2a0d555 100644
--- a/deploy/deploy-config.py
+++ b/deploy/deploy-config.py
@@ -143,22 +143,24 @@ def merge_dicts(dict1, dict2):
if k in dict1 and k in dict2:
if isinstance(dict1[k], dict) and isinstance(dict2[k], dict):
yield (k, dict(merge_dicts(dict1[k], dict2[k])))
- elif isinstance(dict1[k], list) and isinstance(dict2[k], list):
+ continue
+ if isinstance(dict1[k], list) and isinstance(dict2[k], list):
if k == 'versions':
yield (k,
merge_fuel_plugin_version_list(dict1[k], dict2[k]))
+ continue
if k == 'networks':
yield (k,
merge_networks(dict1[k], dict2[k]))
- else:
- # If one of the values is not a dict nor a list,
- # you can't continue merging it.
- # Value from second dict overrides one in first and we move on.
- yield (k, dict2[k])
- elif k in dict1:
- yield (k, dict1[k])
- else:
+ continue
+
+ # If one of the values is not a dict nor a list,
+ # you can't continue merging it.
+ # Value from second dict overrides one in first if exists.
+ if k in dict2:
yield (k, dict2[k])
+ else:
+ yield (k, dict1[k])
setup_yaml()