From 2e98493010382a5981a7df4e38105d7d1400d826 Mon Sep 17 00:00:00 2001 From: stg <65890694+stg-0@users.noreply.github.com> Date: Thu, 15 Jul 2021 09:53:32 +0200 Subject: [PATCH] Add sinceSeconds parameter to k8s_logs (#142) Co-authored-by: Abhijeet Kasurde Co-authored-by: Mike Graves --- .../142-add-sinceseconds-param-for-logs.yaml | 2 ++ plugins/modules/k8s_log.py | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 changelogs/fragments/142-add-sinceseconds-param-for-logs.yaml diff --git a/changelogs/fragments/142-add-sinceseconds-param-for-logs.yaml b/changelogs/fragments/142-add-sinceseconds-param-for-logs.yaml new file mode 100644 index 00000000..7b2189e8 --- /dev/null +++ b/changelogs/fragments/142-add-sinceseconds-param-for-logs.yaml @@ -0,0 +1,2 @@ +minor_changes: + - k8s_log - Add since-seconds parameter to the k8s_log module (https://github.com/ansible-collections/kubernetes.core/pull/142). diff --git a/plugins/modules/k8s_log.py b/plugins/modules/k8s_log.py index e3be18bf..0c07ce70 100644 --- a/plugins/modules/k8s_log.py +++ b/plugins/modules/k8s_log.py @@ -54,6 +54,12 @@ options: - If there is more than one container, this option is required. required: no type: str + since_seconds: + description: + - A relative time in seconds before the current time from which to show logs. + required: no + type: str + version_added: '2.2.0' requirements: - "python >= 3.6" @@ -83,6 +89,7 @@ EXAMPLES = r''' kind: Deployment namespace: testing name: example + since_seconds: "4000" register: log # This will get the log from a single Pod managed by this DeploymentConfig @@ -124,6 +131,7 @@ def argspec(): dict( kind=dict(type='str', default='Pod'), container=dict(), + since_seconds=dict(), label_selectors=dict(type='list', elements='str', default=[]), ) ) @@ -159,6 +167,9 @@ def execute_module(module, k8s_ansible_mixin): if module.params.get('container'): kwargs['query_params'] = dict(container=module.params['container']) + if module.params.get('since_seconds'): + kwargs.setdefault('query_params', {}).update({'sinceSeconds': module.params['since_seconds']}) + log = serialize_log(resource.log.get( name=name, namespace=namespace,