Merge "Collect logging information into ara callback" into feature/zuulv3

This commit is contained in:
Zuul 2017-08-16 18:09:32 +00:00 committed by Gerrit Code Review
commit 3d4c5f2cc1
1 changed files with 17 additions and 3 deletions

View File

@ -29,6 +29,10 @@ import traceback
from zuul.lib.yamlutil import yaml
from zuul.lib.config import get_default
try:
import ara.plugins.callbacks as ara_callbacks
except ImportError:
ara_callbacks = None
import gear
import zuul.merger.merger
@ -1394,6 +1398,17 @@ class AnsibleJob(object):
yaml.safe_dump(secrets, default_flow_style=False))
jobdir_playbook.has_secrets = True
# TODO(mordred) This should likely be extracted into a more generalized
# mechanism for deployers being able to add callback
# plugins.
if ara_callbacks:
callback_path = '%s:%s' % (
self.executor_server.callback_dir,
os.path.dirname(ara_callbacks.__file__))
callback_whitelist = 'zuul_json,ara'
else:
callback_path = self.executor_server.callback_dir
callback_whitelist = 'zuul_json'
with open(jobdir_playbook.ansible_config, 'w') as config:
config.write('[defaults]\n')
config.write('hostfile = %s\n' % self.jobdir.inventory)
@ -1409,10 +1424,9 @@ class AnsibleJob(object):
config.write('library = %s\n'
% self.executor_server.library_dir)
config.write('command_warnings = False\n')
config.write('callback_plugins = %s\n'
% self.executor_server.callback_dir)
config.write('callback_plugins = %s\n' % callback_path)
config.write('stdout_callback = zuul_stream\n')
config.write('callback_whitelist = zuul_json\n')
config.write('callback_whitelist = %s\n' % callback_whitelist)
# bump the timeout because busy nodes may take more than
# 10s to respond
config.write('timeout = 30\n')