diff options
| author | Seth Vidal <skvidal@fedoraproject.org> | 2013-07-04 04:10:25 +0000 |
|---|---|---|
| committer | Seth Vidal <skvidal@fedoraproject.org> | 2013-07-04 04:10:25 +0000 |
| commit | c779358a994f03b7e43ff8dd89ba2bba4fcccb4b (patch) | |
| tree | 87108c5154c4ce70b484a72ec7cf5b1b27d2d176 /scripts/show_changed | |
| parent | d91f35cfba4a59e327a64b3e38d3e630addbff3b (diff) | |
rename show_changed to logview since that's what it is
Diffstat (limited to 'scripts/show_changed')
| -rwxr-xr-x | scripts/show_changed | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/scripts/show_changed b/scripts/show_changed deleted file mode 100755 index fb1e6b45f..000000000 --- a/scripts/show_changed +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/python -tt -import sys -import json -import time -from optparse import OptionParser -import subprocess -import os -import glob - -logpath='/var/log/ansible' -search_terms=['CHANGED','FAILED'] - -def date_cheat(datestr): - dc = subprocess.Popen(['date', '-d', datestr, '+%Y/%m/%d'], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0] - dc = dc.strip() - return dc - - -def parse_args(args): - usage = """ - show_changed [options] [-d datestr] [-p playbook] - """ - parser = OptionParser(usage=usage) - parser.add_option("-d", default='today', dest='datestr', help="time string of when you want logs") - parser.add_option("-p", default='*', dest='playbook', help="the playbook you want to look for") - parser.add_option("-v", default=False, dest='verbose', action='store_true', help='Verbose') - parser.add_option("-s", default=[], dest='search_terms', action='append', help="status to search for") - parser.add_option("-l", default=False, dest="list_pb", action='store_true', help="list playbooks for a specific date") - (opts, args) = parser.parse_args(args) - - opts.datestr = date_cheat(opts.datestr) - if not opts.search_terms: - opts.search_terms = search_terms - return opts, args - -def search_logs(opts, logfiles): - msg = '' - for fn in logfiles: - hostname=os.path.basename(fn).replace('.log', '') - timestamp = os.path.basename(os.path.dirname(fn)) - for line in open(fn): - things = line.split('\t') - if things[2] in opts.search_terms: - slurp = json.loads(things[4]) - msg += '%s\t%s\t%s\t%s\t%s\t%s' % (timestamp, hostname, things[0], things[1], things[2], things[3]) - if not opts.verbose: - if type(slurp) == dict: - for term in ['task_userid', 'cmd']: - if term in slurp: - msg += '\t%s:%s' % (term, slurp.get(term, None)) - msg += '\n' - else: - msg += '\n' - msg += json.dumps(slurp, indent=4) - msg += '\n' - - return msg - - -def main(args): - opts,args = parse_args(args) - for pb in glob.glob(logpath + '/' + opts.playbook): - pb_name = os.path.basename(pb) - for pb_logdir in glob.glob(pb + '/' + opts.datestr): - if opts.list_pb: - print pb_name - continue - - logfiles = glob.glob(pb_logdir + '/*/*.log') - msg = search_logs(opts, logfiles) - if msg: - print pb_name - print msg - - - -if __name__ == "__main__": - sys.exit(main(sys.argv[1:])) - |
