summaryrefslogtreecommitdiffstats
path: root/glustolibs-gluster/glustolibs/gluster/lib_utils.py
diff options
context:
space:
mode:
authorRajesh Madaka <rmadaka@redhat.com>2018-01-12 19:53:12 +0530
committerNigel Babu <nigelb@redhat.com>2018-02-02 03:36:01 +0000
commit94822dbb06d4f1a54bcd46c501e1116113192775 (patch)
tree0f67fc4113ef3e078b097f0a00f43b4be04dfb2a /glustolibs-gluster/glustolibs/gluster/lib_utils.py
parent50a5048ef2054e054cb59c1cccb1198dedcf677d (diff)
Test case for Validate Peer probe with invalid ip and non existing
host, non existing ip Library for Core file Create or Not, Added is_core_file_created() function to lib_utils.py Test Desc: Test script to verify peer probe non existing host and invalid-ip, peer probe has to be fail for non existing host, Glusterd services up and running after invalid peer probe, and core file should not get created under "/", /tmp, /var/log/core directory Adding glusterd peer probe test cases with modifications according to comments adding lib for core file verification Change-Id: I0ebd6ee2b340d1f1b01878cb0faf69f41fec2e10 Signed-off-by: Rajesh Madaka <rmadaka@redhat.com>
Diffstat (limited to 'glustolibs-gluster/glustolibs/gluster/lib_utils.py')
-rw-r--r--glustolibs-gluster/glustolibs/gluster/lib_utils.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/glustolibs-gluster/glustolibs/gluster/lib_utils.py b/glustolibs-gluster/glustolibs/gluster/lib_utils.py
index 901fa10..472c58c 100644
--- a/glustolibs-gluster/glustolibs/gluster/lib_utils.py
+++ b/glustolibs-gluster/glustolibs/gluster/lib_utils.py
@@ -774,3 +774,61 @@ def inject_msg_in_logs(nodes, log_msg, list_of_dirs=None, list_of_files=None):
log_msg, list_of_dirs, list_of_files, host)
_rc = False
return _rc
+
+
+def is_core_file_created(nodes, testrun_timestamp,
+ paths=['/', '/var/log/core', '/tmp']):
+ '''
+ Listing directories and files in "/", /var/log/core, /tmp
+ directory for checking if the core file created or not
+
+ Args:
+
+ nodes(list):
+ List of nodes need to pass from test method
+ testrun_timestamp:
+ This time stamp need to pass from test method
+ test case runing started time, time format is EPOCH
+ time format, use below command for getting timestamp
+ of test case 'date +%s'
+ paths(list):
+ By default core file will be verified in "/","/tmp",
+ "/var/log/core"
+ If test case need to verify core file in specific path,
+ need to pass path from test method
+ '''
+ count = 0
+ cmd_list = []
+ for path in paths:
+ cmd = ' '.join(['cd', path, '&&', 'ls', 'core*'])
+ cmd_list.append(cmd)
+
+ # Checks for core file in "/", "/var/log/core", "/tmp" directory
+ for node in nodes:
+ for cmd in cmd_list:
+ ret, out, _ = g.run(node, cmd)
+ g.log.info("storing all files and directory names into list")
+ dir_list = re.split(r'\s+', out)
+
+ # checking for core file created or not in "/"
+ # "/var/log/core", "/tmp" directory
+ g.log.info("checking core file created or not")
+ for file1 in dir_list:
+ if (re.search(r'\bcore\.[\S]+\b', file1)):
+ file_path_list = re.split('[\s]+', cmd)
+ file_path = file_path_list[1] + '/' + file1
+ time_cmd = 'stat ' + '-c ' + '%X ' + file_path
+ ret, file_timestamp, _ = g.run(node, time_cmd)
+ file_timestamp = file_timestamp.strip()
+ if(file_timestamp > testrun_timestamp):
+ count += 1
+ g.log.error("New core file created %s " % file1)
+ else:
+ g.log.info("Old core file Found")
+ # return the status of core file
+ if (count >= 1):
+ g.log.error("Core file created glusterd crashed")
+ return False
+ else:
+ g.log.info("No core files found ")
+ return True