mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
* Minor fix. Fixes #31196 * Disable complex list comparison and merge. Fixes #31196
This commit is contained in:
@@ -347,28 +347,9 @@ class OC(object):
|
||||
_, changed = self.merge(value, node, changed)
|
||||
|
||||
elif isinstance(value, list) and key in destination.keys():
|
||||
try:
|
||||
if set(destination[key]) != set(destination[key] +
|
||||
source[key]):
|
||||
destination[key] = list(set(destination[key] +
|
||||
source[key]))
|
||||
changed = True
|
||||
except TypeError:
|
||||
for new_dict in source[key]:
|
||||
found = False
|
||||
for old_dict in destination[key]:
|
||||
if ('name' in old_dict.keys() and
|
||||
'name' in new_dict.keys()):
|
||||
if old_dict['name'] == new_dict['name']:
|
||||
destination[key].remove(old_dict)
|
||||
break
|
||||
if old_dict == new_dict:
|
||||
found = True
|
||||
break
|
||||
|
||||
if not found:
|
||||
destination[key].append(new_dict)
|
||||
changed = True
|
||||
if destination[key] != source[key]:
|
||||
destination[key] = source[key]
|
||||
changed = True
|
||||
|
||||
elif (key not in destination.keys() or
|
||||
destination[key] != source[key]):
|
||||
|
||||
Reference in New Issue
Block a user