summaryrefslogtreecommitdiffstats
path: root/openshift-storage-libs/openshiftstoragelibs
diff options
context:
space:
mode:
Diffstat (limited to 'openshift-storage-libs/openshiftstoragelibs')
-rw-r--r--openshift-storage-libs/openshiftstoragelibs/baseclass.py3
-rw-r--r--openshift-storage-libs/openshiftstoragelibs/openshift_ops.py17
2 files changed, 15 insertions, 5 deletions
diff --git a/openshift-storage-libs/openshiftstoragelibs/baseclass.py b/openshift-storage-libs/openshiftstoragelibs/baseclass.py
index 2d6ba69e..99082ac9 100644
--- a/openshift-storage-libs/openshiftstoragelibs/baseclass.py
+++ b/openshift-storage-libs/openshiftstoragelibs/baseclass.py
@@ -116,6 +116,9 @@ class BaseClass(unittest.TestCase):
'storage_class1', cls.storage_classes.get('file_storage_class'))
cls.secret_type = "kubernetes.io/glusterfs"
+ cls.heketi_logs_before_delete = bool(
+ g.config.get("common", {}).get("heketi_logs_before_delete", False))
+
cmd = "echo -n %s | base64" % cls.heketi_cli_key
ret, out, err = g.run(cls.ocp_master_node[0], cmd, "root")
if ret != 0:
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,