diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2019-06-17 11:37:07 +0200 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2019-06-18 05:46:13 +0000 |
commit | d0d47ce08f0cebed9eeb7e8d4d61219b267c06f7 (patch) | |
tree | e8c6d7b5bc135c8969954c666c57633fabcdb21a | |
parent | bf705dba9964c230890bdf2dd1ded79c5d3e7152 (diff) | |
download | ironic-python-agent-d0d47ce08f0cebed9eeb7e8d4d61219b267c06f7.tar.gz |
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 94048fe97e93af3ad6902c3c1aa4ec5d92b41747)
-rw-r--r-- | ironic_python_agent/hardware.py | 2 | ||||
-rw-r--r-- | ironic_python_agent/tests/unit/test_utils.py | 10 | ||||
-rw-r--r-- | ironic_python_agent/utils.py | 1 | ||||
-rw-r--r-- | releasenotes/notes/lshw-cb89894be057bdc9.yaml | 5 |
4 files changed, 13 insertions, 5 deletions
diff --git a/ironic_python_agent/hardware.py b/ironic_python_agent/hardware.py index 61c3a68d..b16ff35b 100644 --- a/ironic_python_agent/hardware.py +++ b/ironic_python_agent/hardware.py @@ -72,7 +72,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) diff --git a/ironic_python_agent/tests/unit/test_utils.py b/ironic_python_agent/tests/unit/test_utils.py index 8fe8ee53..32933f65 100644 --- a/ironic_python_agent/tests/unit/test_utils.py +++ b/ironic_python_agent/tests/unit/test_utils.py @@ -436,12 +436,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) @@ -456,12 +457,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 diff --git a/ironic_python_agent/utils.py b/ironic_python_agent/utils.py index 2bc2bfa1..de46c6ce 100644 --- a/ironic_python_agent/utils.py +++ b/ironic_python_agent/utils.py @@ -56,6 +56,7 @@ COLLECT_LOGS_COMMANDS = { 'df': ['df', '-a'], 'iptables': ['iptables', '-L'], 'ip_addr': ['ip', 'addr'], + 'lshw': ['lshw', '-quiet', '-json'], } diff --git a/releasenotes/notes/lshw-cb89894be057bdc9.yaml b/releasenotes/notes/lshw-cb89894be057bdc9.yaml new file mode 100644 index 00000000..94a97a3f --- /dev/null +++ b/releasenotes/notes/lshw-cb89894be057bdc9.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + The ``lshw`` output no longer pollutes the debug logging. Instead, it's + stored as part of the ramdisk logs. |