diff --git a/lib/ansible/module_utils/kubevirt.py b/lib/ansible/module_utils/kubevirt.py
index d697612156f..220ee41ffcf 100644
--- a/lib/ansible/module_utils/kubevirt.py
+++ b/lib/ansible/module_utils/kubevirt.py
@@ -7,6 +7,7 @@
 from collections import defaultdict
 from distutils.version import Version
 
+from ansible.module_utils.common import dict_transformations
 from ansible.module_utils.common._collections_compat import Sequence
 from ansible.module_utils.k8s.common import list_dict_str
 from ansible.module_utils.k8s.raw import KubernetesRawModule
@@ -137,14 +138,6 @@ class KubeVirtRawModule(KubernetesRawModule):
         merging_dicts can be a dict or a list or tuple of dicts.  In the latter case, the
         dictionaries at the front of the list have higher precedence over the ones at the end.
         """
-        def _deepupdate(D, E):
-            for k in E:
-                if isinstance(E[k], dict) and isinstance(D.get(k), dict):
-                    D[k] = _deepupdate(D[k], E[k])
-                else:
-                    D[k] = E[k]
-            return D
-
         if not merging_dicts:
             merging_dicts = ({},)
 
@@ -153,9 +146,9 @@ class KubeVirtRawModule(KubernetesRawModule):
 
         new_dict = {}
         for d in reversed(merging_dicts):
-            _deepupdate(new_dict, d)
+            new_dict = dict_transformations.dict_merge(new_dict, d)
 
-        _deepupdate(new_dict, base_dict)
+        new_dict = dict_transformations.dict_merge(new_dict, base_dict)
 
         return new_dict