From 94822dbb06d4f1a54bcd46c501e1116113192775 Mon Sep 17 00:00:00 2001 From: Rajesh Madaka Date: Fri, 12 Jan 2018 19:53:12 +0530 Subject: 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 --- glustolibs-gluster/glustolibs/gluster/lib_utils.py | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'glustolibs-gluster/glustolibs/gluster') diff --git a/glustolibs-gluster/glustolibs/gluster/lib_utils.py b/glustolibs-gluster/glustolibs/gluster/lib_utils.py index 901fa10bf..472c58cba 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 -- cgit