Merge "Stop trying to log stdout when fetching logs during inspection"
This commit is contained in:
commit
c9f7c951dc
ironic_python_agent
@ -37,6 +37,7 @@ LOG = logging.getLogger(__name__)
|
||||
CONF = cfg.CONF
|
||||
DEFAULT_COLLECTOR = 'default'
|
||||
_COLLECTOR_NS = 'ironic_python_agent.inspector.collectors'
|
||||
_NO_LOGGING_FIELDS = ('logs',)
|
||||
|
||||
|
||||
def extension_manager(names):
|
||||
@ -108,7 +109,8 @@ def call_inspector(data, failures):
|
||||
data['error'] = failures.get_error()
|
||||
|
||||
LOG.info('posting collected data to %s', CONF.inspection_callback_url)
|
||||
LOG.debug('collected data: %s', data)
|
||||
LOG.debug('collected data: %s',
|
||||
{k: v for k, v in data.items() if k not in _NO_LOGGING_FIELDS})
|
||||
|
||||
encoder = encoding.RESTJSONEncoder()
|
||||
data = encoder.encode(data)
|
||||
@ -274,7 +276,8 @@ def collect_logs(data, failures):
|
||||
"""
|
||||
try:
|
||||
out, _e = utils.execute('journalctl', '--full', '--no-pager', '-b',
|
||||
'-n', '10000', binary=True)
|
||||
'-n', '10000', binary=True,
|
||||
log_stdout=False)
|
||||
except (processutils.ProcessExecutionError, OSError):
|
||||
LOG.warning('failed to get system journal')
|
||||
return
|
||||
|
@ -394,7 +394,8 @@ class TestCollectLogs(unittest.TestCase):
|
||||
|
||||
mock_execute.assert_called_once_with('journalctl', '--full',
|
||||
'--no-pager', '-b',
|
||||
'-n', '10000', binary=True)
|
||||
'-n', '10000', binary=True,
|
||||
log_stdout=False)
|
||||
|
||||
def test_no_journal(self, mock_execute):
|
||||
mock_execute.side_effect = OSError()
|
||||
|
@ -53,15 +53,18 @@ def execute(*cmd, **kwargs):
|
||||
oslo_concurrency.processutils.execute for usage.
|
||||
|
||||
:param *cmd: positional arguments to pass to processutils.execute()
|
||||
:param log_stdout: keyword-only argument: whether to log the output
|
||||
:param **kwargs: keyword arguments to pass to processutils.execute()
|
||||
:raises: UnknownArgumentError on receiving unknown arguments
|
||||
:raises: ProcessExecutionError
|
||||
:raises: OSError
|
||||
:returns: tuple of (stdout, stderr)
|
||||
"""
|
||||
log_stdout = kwargs.pop('log_stdout', True)
|
||||
result = processutils.execute(*cmd, **kwargs)
|
||||
LOG.debug('Execution completed, command line is "%s"', ' '.join(cmd))
|
||||
LOG.debug('Command stdout is: "%s"', result[0])
|
||||
if log_stdout:
|
||||
LOG.debug('Command stdout is: "%s"', result[0])
|
||||
LOG.debug('Command stderr is: "%s"', result[1])
|
||||
return result
|
||||
|
||||
@ -76,6 +79,7 @@ def try_execute(*cmd, **kwargs):
|
||||
returns None in case of failure.
|
||||
|
||||
:param *cmd: positional arguments to pass to processutils.execute()
|
||||
:param log_stdout: keyword-only argument: whether to log the output
|
||||
:param **kwargs: keyword arguments to pass to processutils.execute()
|
||||
:raises: UnknownArgumentError on receiving unknown arguments
|
||||
:returns: tuple of (stdout, stderr) or None in some error cases
|
||||
|
Loading…
x
Reference in New Issue
Block a user