fixes an issue with dict_merge in network utils (#41107)
This change address a problem where the dict_merge function would fail
due to the value being a nested dict. This will now recursively pass
the value back through the dict_merge function.
Merge to devel https://github.com/ansible/ansible/pull/41107
(cherry picked from commit 2a4be2748f
)
Update changelog
Fix review comments
This commit is contained in:
parent
a928ea4d93
commit
799f8e97b3
2 changed files with 8 additions and 1 deletions
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
bugfixes:
|
||||
- fixes an issue with dict_merge in network utils (https://github.com/ansible/ansible/pull/49474)
|
|
@ -34,6 +34,7 @@ from itertools import chain
|
|||
from struct import pack
|
||||
from socket import inet_aton, inet_ntoa
|
||||
|
||||
from ansible.module_utils.common._collections_compat import Mapping
|
||||
from ansible.module_utils.six import iteritems, string_types
|
||||
from ansible.module_utils.six.moves import zip
|
||||
from ansible.module_utils.basic import AnsibleFallbackNotFound
|
||||
|
@ -275,7 +276,10 @@ def dict_merge(base, other):
|
|||
if key in other:
|
||||
item = other.get(key)
|
||||
if item is not None:
|
||||
if isinstance(other[key], Mapping):
|
||||
combined[key] = dict_merge(value, other[key])
|
||||
else:
|
||||
combined[key] = other[key]
|
||||
else:
|
||||
combined[key] = item
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue