summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tantsur <dtantsur@protonmail.com>2022-04-29 14:23:22 +0200
committerDmitry Tantsur <dtantsur@protonmail.com>2022-05-09 14:31:33 +0000
commitbc74df8bfe89f703880f8a545ce939e9b1cd8651 (patch)
tree7eafddd5d091aa48382dafe2fb097e043385d01e
parent02c0183edc3ab354269bebf4c31808ad29dfd8fb (diff)
downloadironic-python-agent-bc74df8bfe89f703880f8a545ce939e9b1cd8651.tar.gz
Collect a full lsblk output in the ramdisk logs
The existing lsblk call is very handy for an overview, but there a lot more useful pairs to collect. Collect them in a machine-readable format to be able to use in debugging and further development. Change-Id: Ib27843524421944ee93de975d275e93276a5597a (cherry picked from commit 424e649bed3db5d1129b18b7ea4dfba88d552537)
-rw-r--r--ironic_python_agent/tests/unit/test_utils.py20
-rw-r--r--ironic_python_agent/utils.py1
-rw-r--r--releasenotes/notes/lsblk-all-956c1df808a169bf.yaml5
3 files changed, 10 insertions, 16 deletions
diff --git a/ironic_python_agent/tests/unit/test_utils.py b/ironic_python_agent/tests/unit/test_utils.py
index 1bb7c1fe..bb6a6f79 100644
--- a/ironic_python_agent/tests/unit/test_utils.py
+++ b/ironic_python_agent/tests/unit/test_utils.py
@@ -429,10 +429,7 @@ class TestUtils(ironic_agent_base.IronicAgentTest):
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, 'lshw': mock.ANY,
- 'lsblk': mock.ANY, 'mdstat': mock.ANY,
- 'mount': mock.ANY, 'parted': mock.ANY})
+ io_dict=mock.ANY)
@mock.patch.object(utils, 'gzip_and_b64encode', autospec=True)
@mock.patch.object(utils, 'is_journalctl_present', autospec=True)
@@ -457,10 +454,7 @@ class TestUtils(ironic_agent_base.IronicAgentTest):
mock_outputs.assert_has_calls(calls, any_order=True)
mock_gzip_b64.assert_called_once_with(
file_list=[tmp.name],
- io_dict={'journal': mock.ANY, 'ip_addr': mock.ANY, 'ps': mock.ANY,
- 'df': mock.ANY, 'iptables': mock.ANY, 'lshw': mock.ANY,
- 'lsblk': mock.ANY, 'mdstat': mock.ANY,
- 'mount': mock.ANY, 'parted': mock.ANY})
+ io_dict=mock.ANY)
@mock.patch.object(utils, 'gzip_and_b64encode', autospec=True)
@mock.patch.object(utils, 'is_journalctl_present', autospec=True)
@@ -480,10 +474,7 @@ class TestUtils(ironic_agent_base.IronicAgentTest):
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, 'lshw': mock.ANY,
- 'lsblk': mock.ANY, 'mdstat': mock.ANY,
- 'mount': mock.ANY, 'parted': mock.ANY})
+ io_dict=mock.ANY)
@mock.patch.object(utils, 'gzip_and_b64encode', autospec=True)
@mock.patch.object(utils, 'is_journalctl_present', autospec=True)
@@ -507,10 +498,7 @@ class TestUtils(ironic_agent_base.IronicAgentTest):
mock_outputs.assert_has_calls(calls, any_order=True)
mock_gzip_b64.assert_called_once_with(
file_list=['/var/log', tmp.name],
- io_dict={'iptables': mock.ANY, 'ip_addr': mock.ANY, 'ps': mock.ANY,
- 'dmesg': mock.ANY, 'df': mock.ANY, 'lshw': mock.ANY,
- 'lsblk': mock.ANY, 'mdstat': mock.ANY,
- 'mount': mock.ANY, 'parted': mock.ANY})
+ io_dict=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 ff0f8926..3f27cb77 100644
--- a/ironic_python_agent/utils.py
+++ b/ironic_python_agent/utils.py
@@ -68,6 +68,7 @@ COLLECT_LOGS_COMMANDS = {
'ip_addr': ['ip', 'addr'],
'lshw': ['lshw', '-quiet', '-json'],
'lsblk': ['lsblk', '--all', '-o%s' % ','.join(LSBLK_COLUMNS)],
+ 'lsblk-full': ['lsblk', '--all', '--bytes', '--output-all', '--pairs'],
'mdstat': ['cat', '/proc/mdstat'],
'mount': ['mount'],
'parted': ['parted', '-l'],
diff --git a/releasenotes/notes/lsblk-all-956c1df808a169bf.yaml b/releasenotes/notes/lsblk-all-956c1df808a169bf.yaml
new file mode 100644
index 00000000..d237f834
--- /dev/null
+++ b/releasenotes/notes/lsblk-all-956c1df808a169bf.yaml
@@ -0,0 +1,5 @@
+---
+other:
+ - |
+ The ramdisk logs now contain an ``lsblk`` output with all pairs in the new
+ ``lsblk-full`` file.