mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-26 06:31:23 -07:00
Use a sensible default for k8s merge_type (#45284)
* Use a sensible default for k8s merge_type The sensible default for merge_type is `['strategic-merge', 'merge']. However, we can't make this the default default, as we need to support users who are using openshift 0.6.0, where the merge_type parameter is unsupported. * Refactor k8s test suite for merge_type tests Allow tests with pre-merge-type openshift and post-merge-type openshift.
This commit is contained in:
parent
ab133def0b
commit
1463c2e4a8
10 changed files with 139 additions and 57 deletions
|
@ -210,18 +210,19 @@ class KubernetesRawModule(KubernetesAnsibleModule):
|
|||
if self.check_mode:
|
||||
k8s_obj = dict_merge(existing.to_dict(), definition)
|
||||
else:
|
||||
if self.params['merge_type']:
|
||||
from distutils.version import LooseVersion
|
||||
if LooseVersion(self.openshift_version) < LooseVersion("0.6.2"):
|
||||
from distutils.version import LooseVersion
|
||||
if LooseVersion(self.openshift_version) < LooseVersion("0.6.2"):
|
||||
if self.params['merge_type']:
|
||||
self.fail_json(msg="openshift >= 0.6.2 is required for merge_type")
|
||||
for merge_type in self.params['merge_type']:
|
||||
else:
|
||||
k8s_obj, error = self.patch_resource(resource, definition, existing, name,
|
||||
namespace)
|
||||
else:
|
||||
for merge_type in self.params['merge_type'] or ['strategic-merge', 'merge']:
|
||||
k8s_obj, error = self.patch_resource(resource, definition, existing, name,
|
||||
namespace, merge_type=merge_type)
|
||||
if not error:
|
||||
break
|
||||
else:
|
||||
k8s_obj, error = self.patch_resource(resource, definition, existing, name,
|
||||
namespace)
|
||||
if error:
|
||||
self.fail_json(**error)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue