Use recursive_diff for kubernetes (#45645)

Move recursive_diff from cloudfront_distribution to
common.dict_transformations and reuse it in k8s modules
This commit is contained in:
Will Thames 2018-10-02 02:24:52 -05:00 committed by ansibot
commit 411397a975
3 changed files with 26 additions and 30 deletions

View file

@ -23,6 +23,7 @@ import os
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.dict_transformations import recursive_diff
from ansible.module_utils.six import iteritems, string_types
try:
@ -40,12 +41,6 @@ try:
except ImportError:
HAS_YAML = False
try:
import dictdiffer
HAS_DICTDIFFER = True
except ImportError:
HAS_DICTDIFFER = False
try:
import urllib3
urllib3.disable_warnings()
@ -226,12 +221,12 @@ class K8sAnsibleMixin(object):
@staticmethod
def diff_objects(existing, new):
if not HAS_DICTDIFFER:
return False, []
diffs = list(dictdiffer.diff(new, existing))
match = len(diffs) == 0
return match, diffs
result = dict()
diff = recursive_diff(existing, new)
if diff:
result['before'] = diff[0]
result['after'] = diff[1]
return not diff, result
class KubernetesAnsibleModule(AnsibleModule, K8sAnsibleMixin):