From fd4977664a2ab2e4be5745fbaf3e3c9f9dca6796 Mon Sep 17 00:00:00 2001 From: Fedor Zhadaev Date: Wed, 10 Aug 2016 14:43:04 +0300 Subject: Fix merge_dicts logic for the case of two nonempty lists JIRA: FUEL-170 Change-Id: I5abae6fc950cdabe064b5402d9555cedf81cfc23 Signed-off-by: Fedor Zhadaev --- deploy/deploy-config.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'deploy') 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() -- cgit 1.2.3-korg