Merge "Try to early terminate streaming on ansible errors" into feature/zuulv3

This commit is contained in:
Jenkins 2017-08-09 15:36:42 +00:00 committed by Gerrit Code Review
commit ad966ccc46
2 changed files with 9 additions and 0 deletions

View File

@ -98,6 +98,7 @@ class CallbackModule(default.CallbackModule):
self._daemon_running = False
self._play = None
self._streamers = []
self._streamers_stop = False
self.configure_logger()
self._items_done = False
self._deferred_result = None
@ -142,6 +143,11 @@ class CallbackModule(default.CallbackModule):
for line in linesplit(s):
if "[Zuul] Task exit code" in line:
return
elif self._streamers_stop and "[Zuul] Log not found" in line:
return
elif "[Zuul] Log not found" in line:
# don't output this line
pass
else:
ts, ln = line.split(' | ', 1)
ln = ln.strip()
@ -223,6 +229,7 @@ class CallbackModule(default.CallbackModule):
self._streamers.append(streamer)
def _stop_streamers(self):
self._streamers_stop = True
while True:
if not self._streamers:
break
@ -231,6 +238,7 @@ class CallbackModule(default.CallbackModule):
if streamer.is_alive():
msg = "[Zuul] Log Stream did not terminate"
self._log(msg, job=True, executor=True)
self._streamers_stop = False
def _process_result_for_localhost(self, result, is_task=True):
result_dict = dict(result._result)

View File

@ -185,6 +185,7 @@ class Server(object):
console = self.chunkConsole(conn, log_uuid)
if console:
break
conn.send('[Zuul] Log not found\n')
time.sleep(0.5)
while True:
if self.followConsole(console, conn):