From c69180accc49392b242f56f226cf5efeaa9cebcb Mon Sep 17 00:00:00 2001 From: vamahaja Date: Mon, 29 Jun 2020 13:03:53 +0530 Subject: [LibFix] Add 'collect_logs' param in 'oc_delete' lib Change-Id: I9d99f367b82c6570e1390c6b137e0b9bf401a19c Signed-off-by: vamahaja --- .../openshiftstoragelibs/openshift_ops.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'openshift-storage-libs/openshiftstoragelibs/openshift_ops.py') diff --git a/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py b/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py index 93bd847a..ccacfeb5 100644 --- a/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py +++ b/openshift-storage-libs/openshiftstoragelibs/openshift_ops.py @@ -452,8 +452,9 @@ def oc_create_tiny_pod_with_volume(hostname, pvc_name, pod_name_prefix='', return pod_name -def oc_delete(ocp_node, rtype, name, raise_on_absence=True): - """Delete an OCP resource by name. +def oc_delete( + ocp_node, rtype, name, raise_on_absence=True, collect_logs=False): + """Delete an OCP resource by name Args: ocp_node (str): Node on which the ocp command will run. @@ -463,16 +464,22 @@ def oc_delete(ocp_node, rtype, name, raise_on_absence=True): exception if value is true, else return default value: True + collect_logs (bool): Collect logs before deleting resource """ - if not oc_get_yaml(ocp_node, rtype, name, - raise_on_error=raise_on_absence): + if not oc_get_yaml(ocp_node, rtype, name, raise_on_error=raise_on_absence): return + + if rtype == "pod" and collect_logs: + cmd = [ + 'oc', 'logs', name, + '&>', '{}_$(date +%Y-%m-%d-%H-%m-%s).log'.format(name)] + command.cmd_run(cmd, hostname=ocp_node) + cmd = ['oc', 'delete', rtype, name] if openshift_version.get_openshift_version() >= '3.11': cmd.append('--wait=false') command.cmd_run(cmd, hostname=ocp_node) - g.log.info('Deleted resource: %r %r', rtype, name) def oc_get_custom_resource(ocp_node, rtype, custom, name=None, selector=None, -- cgit