summaryrefslogtreecommitdiffstats
path: root/cts/lab/cts-log-watcher.in
diff options
context:
space:
mode:
Diffstat (limited to 'cts/lab/cts-log-watcher.in')
-rw-r--r--cts/lab/cts-log-watcher.in84
1 files changed, 0 insertions, 84 deletions
diff --git a/cts/lab/cts-log-watcher.in b/cts/lab/cts-log-watcher.in
deleted file mode 100644
index cee9c94..0000000
--- a/cts/lab/cts-log-watcher.in
+++ /dev/null
@@ -1,84 +0,0 @@
-#!@PYTHON@
-""" Remote log reader for Pacemaker's Cluster Test Suite (CTS)
-
-Reads a specified number of lines from the supplied offset
-Returns the current offset
-Contains logic for handling truncation
-"""
-
-__copyright__ = "Copyright 2014-2020 the Pacemaker project contributors"
-__license__ = "GNU General Public License version 2 or later (GPLv2+) WITHOUT ANY WARRANTY"
-
-import sys
-import os
-import fcntl
-
-if __name__ == '__main__':
-
- limit = 0
- offset = 0
- prefix = ''
- filename = '/var/log/messages'
-
- skipthis=None
- args=sys.argv[1:]
- for i in range(0, len(args)):
- if skipthis:
- skipthis=None
- continue
-
- elif args[i] == '-l' or args[i] == '--limit':
- skipthis=1
- limit = int(args[i+1])
-
- elif args[i] == '-f' or args[i] == '--filename':
- skipthis=1
- filename = args[i+1]
-
- elif args[i] == '-o' or args[i] == '--offset':
- skipthis=1
- offset = args[i+1]
-
- elif args[i] == '-p' or args[i] == '--prefix':
- skipthis=1
- prefix = args[i+1]
-
- elif args[i] == '-t' or args[i] == '--tag':
- skipthis=1
-
- if not os.access(filename, os.R_OK):
- print(prefix + 'Last read: %d, limit=%d, count=%d - unreadable' % (0, limit, 0))
- sys.exit(1)
-
- logfile=open(filename, 'r')
- logfile.seek(0, os.SEEK_END)
- newsize=logfile.tell()
-
- if offset != 'EOF':
- offset = int(offset)
- if newsize >= offset:
- logfile.seek(offset)
- else:
- print(prefix + ('File truncated from %d to %d' % (offset, newsize)))
- if (newsize*1.05) < offset:
- logfile.seek(0)
- # else: we probably just lost a few logs after a fencing op
- # continue from the new end
- # TODO: accept a timestamp and discard all messages older than it
-
- # Don't block when we reach EOF
- fcntl.fcntl(logfile.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
-
- count = 0
- while True:
- if logfile.tell() >= newsize: break
- elif limit and count >= limit: break
-
- line = logfile.readline()
- if not line: break
-
- print(line.strip())
- count += 1
-
- print(prefix + 'Last read: %d, limit=%d, count=%d' % (logfile.tell(), limit, count))
- logfile.close()