mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-03-26 21:33:02 +00:00
Replace passing `warnings to exit_json with AnsibleModule.warn` for the few modules (#1033)
SUMMARY Using exit_json or fail_json for warnings is deprecated in ansible-core>=2.19.0 and will be removed in ansible-core>=2.23.0 Tested with ansible-core 2.19.3 as the latest released version at the time of the start of this PR and with 2.16.0 as the lowest version supported by kubernetes.core 6.x Resolves: #1031 ISSUE TYPE Bugfix Pull Request COMPONENT NAME k8s_drain k8s_rollback k8s_scale ADDITIONAL INFORMATION The initial version of this PR covers only the module k8s_drain, with the following commits extended to k8s_rollback k8s_scale Reviewed-by: Bianca Henderson <beeankha@gmail.com> Reviewed-by: Mike Graves <mgraves@redhat.com> Reviewed-by: Alina Buzachis
This commit is contained in:
committed by
GitHub
parent
13791ec7bf
commit
3e32c12c40
2
changelogs/fragments/1033-warnings-deprecations.yaml
Normal file
2
changelogs/fragments/1033-warnings-deprecations.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
bugfixes:
|
||||||
|
- Replace passing ``warnings`` to ``exit_json`` with ``AnsibleModule.warn`` in the ``k8s_drain``, ``k8s_rollback.py`` and ``k8s_scale.py`` modules as it deprecated in ``ansible-core>=2.19.0`` and will be removed in ``ansible-core>=2.23.0`` (https://github.com/ansible-collections/kubernetes.core/pull/1033).
|
||||||
@@ -278,11 +278,15 @@ class K8SCopyFromPod(K8SCopy):
|
|||||||
def run(self):
|
def run(self):
|
||||||
self.files_to_copy = self.list_remote_files()
|
self.files_to_copy = self.list_remote_files()
|
||||||
if self.files_to_copy == []:
|
if self.files_to_copy == []:
|
||||||
|
# Using warn method instead of passing warnings to exit_json as it is
|
||||||
|
# deprecated in ansible-core>=2.19.0
|
||||||
|
self._module.warn(
|
||||||
|
"No file found from directory '{0}' into remote Pod.".format(
|
||||||
|
self.remote_path
|
||||||
|
)
|
||||||
|
)
|
||||||
self.module.exit_json(
|
self.module.exit_json(
|
||||||
changed=False,
|
changed=False,
|
||||||
warning="No file found from directory '{0}' into remote Pod.".format(
|
|
||||||
self.remote_path
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
self.copy()
|
self.copy()
|
||||||
|
|
||||||
|
|||||||
@@ -441,7 +441,8 @@ class K8sDrainAnsible(object):
|
|||||||
warnings.append(warn)
|
warnings.append(warn)
|
||||||
result.append("{0} Pod(s) deleted from node.".format(number_pod))
|
result.append("{0} Pod(s) deleted from node.".format(number_pod))
|
||||||
if warnings:
|
if warnings:
|
||||||
return dict(result=" ".join(result), warnings=warnings)
|
for warning in warnings:
|
||||||
|
self._module.warn(warning)
|
||||||
return dict(result=" ".join(result))
|
return dict(result=" ".join(result))
|
||||||
|
|
||||||
def patch_node(self, unschedulable):
|
def patch_node(self, unschedulable):
|
||||||
|
|||||||
@@ -168,7 +168,9 @@ def perform_action(svc, resource):
|
|||||||
module.params["kind"],
|
module.params["kind"],
|
||||||
resource["metadata"]["name"],
|
resource["metadata"]["name"],
|
||||||
)
|
)
|
||||||
result = {"changed": False, "warnings": [warn]}
|
if warn:
|
||||||
|
module.warn(warn)
|
||||||
|
result = {"changed": False}
|
||||||
return result
|
return result
|
||||||
|
|
||||||
if module.params["kind"] == "Deployment":
|
if module.params["kind"] == "Deployment":
|
||||||
|
|||||||
@@ -243,10 +243,12 @@ def execute_module(client, module):
|
|||||||
module.fail_json(msg=error, **return_attributes)
|
module.fail_json(msg=error, **return_attributes)
|
||||||
|
|
||||||
def _continue_or_exit(warn):
|
def _continue_or_exit(warn):
|
||||||
|
if warn:
|
||||||
|
module.warn(warn)
|
||||||
if multiple_scale:
|
if multiple_scale:
|
||||||
return_attributes["results"].append({"warning": warn, "changed": False})
|
return_attributes["results"].append({"changed": False})
|
||||||
else:
|
else:
|
||||||
module.exit_json(warning=warn, **return_attributes)
|
module.exit_json(**return_attributes)
|
||||||
|
|
||||||
for existing in existing_items:
|
for existing in existing_items:
|
||||||
if kind.lower() == "job":
|
if kind.lower() == "job":
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
current_replicas: 3
|
current_replicas: 3
|
||||||
wait: true
|
wait: true
|
||||||
|
wait_timeout: 60
|
||||||
register: scale
|
register: scale
|
||||||
|
|
||||||
- name: Read deployment
|
- name: Read deployment
|
||||||
|
|||||||
@@ -402,12 +402,16 @@
|
|||||||
namespace: "{{ namespace }}"
|
namespace: "{{ namespace }}"
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
|
- name: Debug result
|
||||||
|
debug:
|
||||||
|
var: result
|
||||||
|
|
||||||
- name: Assert warning is returned for no rollout history
|
- name: Assert warning is returned for no rollout history
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- not result.changed
|
- not result.changed
|
||||||
- result.rollback_info[0].warnings is defined
|
- result.warnings is defined
|
||||||
- "'No rollout history found' in result.rollback_info[0].warnings[0]"
|
- "'No rollout history found' in result.warnings[0]"
|
||||||
|
|
||||||
- name: Create a service for unsupported resource test
|
- name: Create a service for unsupported resource test
|
||||||
k8s:
|
k8s:
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
namespace: "{{ scale_namespace }}"
|
namespace: "{{ scale_namespace }}"
|
||||||
replicas: 0
|
replicas: 0
|
||||||
wait: true
|
wait: true
|
||||||
|
wait_timeout: 60
|
||||||
register: scale_down
|
register: scale_down
|
||||||
check_mode: true
|
check_mode: true
|
||||||
|
|
||||||
@@ -80,6 +81,7 @@
|
|||||||
namespace: "{{ scale_namespace }}"
|
namespace: "{{ scale_namespace }}"
|
||||||
replicas: 0
|
replicas: 0
|
||||||
wait: true
|
wait: true
|
||||||
|
wait_timeout: 60
|
||||||
register: scale_down
|
register: scale_down
|
||||||
check_mode: true
|
check_mode: true
|
||||||
|
|
||||||
@@ -143,6 +145,7 @@
|
|||||||
namespace: "{{ scale_namespace }}"
|
namespace: "{{ scale_namespace }}"
|
||||||
replicas: 0
|
replicas: 0
|
||||||
wait: true
|
wait: true
|
||||||
|
wait_timeout: 60
|
||||||
register: scale_down_idempotency
|
register: scale_down_idempotency
|
||||||
diff: true
|
diff: true
|
||||||
|
|
||||||
@@ -233,6 +236,7 @@
|
|||||||
namespace: "{{ scale_namespace }}"
|
namespace: "{{ scale_namespace }}"
|
||||||
replicas: 2
|
replicas: 2
|
||||||
wait: yes
|
wait: yes
|
||||||
|
wait_timeout: 60
|
||||||
register: scale_up_noop
|
register: scale_up_noop
|
||||||
diff: false
|
diff: false
|
||||||
|
|
||||||
@@ -308,12 +312,12 @@
|
|||||||
resource_version: 0
|
resource_version: 0
|
||||||
label_selectors:
|
label_selectors:
|
||||||
- app=nginx
|
- app=nginx
|
||||||
|
wait_timeout: 60
|
||||||
register: scale_out
|
register: scale_out
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- not scale_out.changed
|
- not scale_out.changed
|
||||||
- scale_out.results | selectattr('warning', 'defined') | list | length == 2
|
|
||||||
|
|
||||||
- name: scale deployment using current replicas (wrong value)
|
- name: scale deployment using current replicas (wrong value)
|
||||||
kubernetes.core.k8s_scale:
|
kubernetes.core.k8s_scale:
|
||||||
@@ -328,7 +332,6 @@
|
|||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- not scale_out.changed
|
- not scale_out.changed
|
||||||
- scale_out.results | selectattr('warning', 'defined') | list | length == 2
|
|
||||||
|
|
||||||
- name: scale deployment using current replicas (right value)
|
- name: scale deployment using current replicas (right value)
|
||||||
kubernetes.core.k8s_scale:
|
kubernetes.core.k8s_scale:
|
||||||
|
|||||||
Reference in New Issue
Block a user