aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Moravec <pmoravec@redhat.com>2023-06-20 12:23:27 +0200
committerJake Hunsaker <jacob.r.hunsaker@gmail.com>2023-06-22 15:05:49 -0400
commitdc75ed41c19249b14213f3bfeb26bcbd6503befb (patch)
treebb87d629d48f7122902a76bc917476f34c6aff5c
parentce5d4f53003d56dbed714d309323dd675effbd42 (diff)
downloadsos-dc75ed41c19249b14213f3bfeb26bcbd6503befb.tar.gz
[conntrack] collect conntrack commands only when kmods are loaded
Two conntrack commands require several kmods - guard collection of the commands by relevant SoSPredicate. Resolves: #3279 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
-rw-r--r--sos/report/plugins/conntrack.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/sos/report/plugins/conntrack.py b/sos/report/plugins/conntrack.py
index 608cc335..05068b5c 100644
--- a/sos/report/plugins/conntrack.py
+++ b/sos/report/plugins/conntrack.py
@@ -7,7 +7,8 @@
#
# See the LICENSE file in the source distribution for further information.
-from sos.report.plugins import Plugin, IndependentPlugin, PluginOpt
+from sos.report.plugins import (Plugin, IndependentPlugin, SoSPredicate,
+ PluginOpt)
class Conntrack(Plugin, IndependentPlugin):
@@ -37,11 +38,18 @@ class Conntrack(Plugin, IndependentPlugin):
"conntrackd -s expect",
])
- # Collect info from conntrack
+ # Collect info from conntrack, only when all required kmods are loaded
+ ct_pred = SoSPredicate(self,
+ kmods=['nf_conntrack',
+ 'nf_conntrack_netlink',
+ 'nf_defrag_ipv4',
+ 'nf_defrag_ipv6',
+ 'nfnetlink'],
+ required={'kmods': 'all'})
self.add_cmd_output([
"conntrack -L -o extended",
"conntrack -S",
- ])
+ ], pred=ct_pred)
# Capture additional data from namespaces; each command is run
# per-namespace