Expose log files through global state API. (#641)

* added log_table function and a test

* fixed log_files and added task_profiles

* fixed formatting

* fixed linting errors

* fixes

* removed file

* more fixes

* hopefully fixed

* Small changes.

* Fix linting.

* Fix bug in log monitor.

* Small changes.

* Fix bug in travis.
This commit is contained in:
alanamarzoev
2017-06-08 00:08:10 -07:00
committed by Robert Nishihara
parent fde843a636
commit f0339f3386
3 changed files with 73 additions and 2 deletions
+28
View File
@@ -304,3 +304,31 @@ class GlobalState(object):
node_info[node_ip_address].append(client_info_parsed)
return node_info
def log_files(self):
"""Fetch and return a dictionary of log file names to outputs.
Returns:
IP address to log file name to log file contents mappings.
"""
relevant_files = self.redis_client.keys("LOGFILE*")
ip_filename_file = dict()
for filename in relevant_files:
filename = filename.decode("ascii")
filename_components = filename.split(":")
ip_addr = filename_components[1]
file = self.redis_client.lrange(filename, 0, -1)
file_str = []
for x in file:
y = x.decode("ascii")
file_str.append(y)
if ip_addr not in ip_filename_file:
ip_filename_file[ip_addr] = dict()
ip_filename_file[ip_addr][filename] = file_str
return ip_filename_file