diff options
author | Michal Skalski <mskalski@mirantis.com> | 2016-08-11 08:37:42 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-08-11 08:37:42 +0000 |
commit | 91c1fe20f85a09d40e095ae7feaae872eb25b0fa (patch) | |
tree | afca8bd0c6a4d39db0fe04ea1ccdaa068ccaab97 | |
parent | f96b162d0b7ab0839a5961a23f5f57cf320168e4 (diff) | |
parent | fd4977664a2ab2e4be5745fbaf3e3c9f9dca6796 (diff) |
Merge "Fix merge_dicts logic for the case of two nonempty lists"
-rw-r--r-- | deploy/deploy-config.py | 20 |
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() |