Stop logging lshw output, collect it with other logs instead

The lshw output is huge even on virtual machines, and it pollutes
the debug logging. This change silences it. Instead, the lshw output
is collected as part of the ramdisk logs.

Depends-On: https://review.opendev.org/#/c/665635/
Change-Id: I6a3015b2d8d09f6f48b5cbd39dc84bd75b72f909
(cherry picked from commit 94048fe97e)
This commit is contained in:
Dmitry Tantsur
2019-06-17 11:37:07 +02:00
parent a29a27910a
commit b41e98d04f
4 changed files with 13 additions and 5 deletions

View File

@@ -73,7 +73,7 @@ def _get_system_lshw_dict():
:return: A python dict from the lshw json output
"""
out, _e = utils.execute('lshw', '-quiet', '-json')
out, _e = utils.execute('lshw', '-quiet', '-json', log_stdout=False)
return json.loads(out)

View File

@@ -498,12 +498,13 @@ class TestUtils(testtools.TestCase):
self.assertEqual(ret, logs_string)
mock_logs.assert_called_once_with(lines=None)
calls = [mock.call(['ps', 'au']), mock.call(['df', '-a']),
mock.call(['iptables', '-L']), mock.call(['ip', 'addr'])]
mock.call(['iptables', '-L']), mock.call(['ip', 'addr']),
mock.call(['lshw', '-quiet', '-json'])]
mock_outputs.assert_has_calls(calls, any_order=True)
mock_gzip_b64.assert_called_once_with(
file_list=[],
io_dict={'journal': mock.ANY, 'ip_addr': mock.ANY, 'ps': mock.ANY,
'df': mock.ANY, 'iptables': mock.ANY})
'df': mock.ANY, 'iptables': mock.ANY, 'lshw': mock.ANY})
@mock.patch.object(utils, 'gzip_and_b64encode', autospec=True)
@mock.patch.object(utils, 'is_journalctl_present', autospec=True)
@@ -518,12 +519,13 @@ class TestUtils(testtools.TestCase):
self.assertEqual(ret, logs_string)
calls = [mock.call(['dmesg']), mock.call(['ps', 'au']),
mock.call(['df', '-a']), mock.call(['iptables', '-L']),
mock.call(['ip', 'addr'])]
mock.call(['ip', 'addr']),
mock.call(['lshw', '-quiet', '-json'])]
mock_outputs.assert_has_calls(calls, any_order=True)
mock_gzip_b64.assert_called_once_with(
file_list=['/var/log'],
io_dict={'iptables': mock.ANY, 'ip_addr': mock.ANY, 'ps': mock.ANY,
'dmesg': mock.ANY, 'df': mock.ANY})
'dmesg': mock.ANY, 'df': mock.ANY, 'lshw': mock.ANY})
def test_get_ssl_client_options(self):
# defaults

View File

@@ -56,6 +56,7 @@ COLLECT_LOGS_COMMANDS = {
'df': ['df', '-a'],
'iptables': ['iptables', '-L'],
'ip_addr': ['ip', 'addr'],
'lshw': ['lshw', '-quiet', '-json'],
}

View File

@@ -0,0 +1,5 @@
---
fixes:
- |
The ``lshw`` output no longer pollutes the debug logging. Instead, it's
stored as part of the ramdisk logs.