mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-03-26 21:33:02 +00:00
k8s_log - fix module traceback when resource not found (#493)
k8s_log - fix module traceback when resource not found Depends-on: #495 SUMMARY closes #479 ISSUE TYPE Bugfix Pull Request COMPONENT NAME k8s_log Reviewed-by: Mike Graves <mgraves@redhat.com>
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
bugfixes:
|
||||||
|
- k8s_log - Fix module traceback when no resource found (https://github.com/ansible-collections/kubernetes.core/issues/479).
|
||||||
@@ -152,6 +152,12 @@ from ansible_collections.kubernetes.core.plugins.module_utils.k8s.service import
|
|||||||
K8sService,
|
K8sService,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
try:
|
||||||
|
from kubernetes.client.exceptions import ApiException
|
||||||
|
except ImportError:
|
||||||
|
# ImportError are managed by the common module already.
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def argspec():
|
def argspec():
|
||||||
args = copy.deepcopy(AUTH_ARG_SPEC)
|
args = copy.deepcopy(AUTH_ARG_SPEC)
|
||||||
@@ -217,9 +223,17 @@ def execute_module(svc, params):
|
|||||||
{"tailLines": params["tail_lines"]}
|
{"tailLines": params["tail_lines"]}
|
||||||
)
|
)
|
||||||
|
|
||||||
response = resource.log.get(
|
try:
|
||||||
name=name, namespace=namespace, serialize=False, **kwargs
|
response = resource.log.get(
|
||||||
)
|
name=name, namespace=namespace, serialize=False, **kwargs
|
||||||
|
)
|
||||||
|
except ApiException as exc:
|
||||||
|
if exc.reason == "Not Found":
|
||||||
|
raise CoreException("Pod {0}/{1} not found.".format(namespace, name))
|
||||||
|
raise CoreException(
|
||||||
|
"Unable to retrieve log from Pod due to: {0}".format(exc.reason)
|
||||||
|
)
|
||||||
|
|
||||||
log = response.data.decode("utf8")
|
log = response.data.decode("utf8")
|
||||||
|
|
||||||
return {"changed": False, "log": log, "log_lines": log.split("\n")}
|
return {"changed": False, "log": log, "log_lines": log.split("\n")}
|
||||||
|
|||||||
@@ -1,5 +1,18 @@
|
|||||||
---
|
---
|
||||||
- block:
|
- block:
|
||||||
|
- name: Retrieve log from unexisting Pod
|
||||||
|
k8s_log:
|
||||||
|
namespace: "{{ test_namespace }}"
|
||||||
|
name: "this_pod_does_exist"
|
||||||
|
ignore_errors: true
|
||||||
|
register: fake_pod
|
||||||
|
|
||||||
|
- name: Assert that task failed with proper message
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- fake_pod is failed
|
||||||
|
- 'fake_pod.msg == "Pod {{ test_namespace }}/this_pod_does_exist not found."'
|
||||||
|
|
||||||
- name: create hello-world deployment
|
- name: create hello-world deployment
|
||||||
k8s:
|
k8s:
|
||||||
wait: yes
|
wait: yes
|
||||||
|
|||||||
Reference in New Issue
Block a user