diff --git a/sos-SUPDEV145-ovnkube-logs.patch b/sos-SUPDEV145-ovnkube-logs.patch new file mode 100644 index 0000000..e070948 --- /dev/null +++ b/sos-SUPDEV145-ovnkube-logs.patch @@ -0,0 +1,126 @@ +From 43714aa5aeb3dcb0dec17dd026ca5c394cc06afd Mon Sep 17 00:00:00 2001 +From: Periyasamy Palanisamy +Date: Fri, 11 Aug 2023 14:30:42 +0200 +Subject: [PATCH] Collect additional ovnkube node logs + +With Interconnect support in latest OVN-Kubernetes, ovnkube-nodes +logs grew large. This commit adds the ability to collect those +additional logs. + +Signed-off-by: Periyasamy Palanisamy +--- + sos/report/plugins/openshift_ovn.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sos/report/plugins/openshift_ovn.py b/sos/report/plugins/openshift_ovn.py +index d81fc97aa..2d804e9ae 100644 +--- a/sos/report/plugins/openshift_ovn.py ++++ b/sos/report/plugins/openshift_ovn.py +@@ -30,7 +30,8 @@ def setup(self): + # Collect ovn interconnect specific files if exists. + self.add_copy_spec([ + "/var/lib/ovn-ic/etc/ovnnb_db.db", +- "/var/lib/ovn-ic/etc/ovnsb_db.db" ++ "/var/lib/ovn-ic/etc/ovnsb_db.db", ++ "/var/lib/ovn-ic/etc/libovsdb*log*" + ]) + + # The ovn cluster/status is not valid anymore for interconnect setup. +From e11a594f942f9ae98aeb644c573293b391050657 Mon Sep 17 00:00:00 2001 +From: Periyasamy Palanisamy +Date: Tue, 15 Aug 2023 11:47:20 +0200 +Subject: [PATCH] Collect ovn logs as much as possible + +The sosreport limits to collect logs at maximum of 25 MB in a given +collection passed into add_copy_spec method. so this may lead into +logs wouldn't have fully collected when user collected sos report +without --all-logs option. +Hence this commit ensures logs and dbs collected as much as possible +when --all-logs option is not specified. + +Signed-off-by: Periyasamy Palanisamy +--- + sos/report/plugins/openshift_ovn.py | 25 +++++++++++++++++-------- + 1 file changed, 17 insertions(+), 8 deletions(-) + +diff --git a/sos/report/plugins/openshift_ovn.py b/sos/report/plugins/openshift_ovn.py +index 2d804e9ae..347b15eea 100644 +--- a/sos/report/plugins/openshift_ovn.py ++++ b/sos/report/plugins/openshift_ovn.py +@@ -20,19 +20,28 @@ class OpenshiftOVN(Plugin, RedHatPlugin): + profiles = ('openshift',) + + def setup(self): ++ all_logs = self.get_option("all_logs") ++ + self.add_copy_spec([ + "/var/lib/ovn/etc/ovnnb_db.db", + "/var/lib/ovn/etc/ovnsb_db.db", +- "/var/lib/openvswitch/etc/keys", +- "/var/log/openvswitch/libreswan.log", +- "/var/log/openvswitch/ovs-monitor-ipsec.log" +- ]) +- # Collect ovn interconnect specific files if exists. ++ "/var/lib/openvswitch/etc/keys" ++ ], sizelimit=300) ++ ++ # Collect ovn interconnect specific db files if exists. + self.add_copy_spec([ + "/var/lib/ovn-ic/etc/ovnnb_db.db", +- "/var/lib/ovn-ic/etc/ovnsb_db.db", +- "/var/lib/ovn-ic/etc/libovsdb*log*" +- ]) ++ "/var/lib/ovn-ic/etc/ovnsb_db.db" ++ ], sizelimit=300) ++ ++ # Collect libovsdb logs in case of ovn interconnect setup. ++ if not all_logs: ++ self.add_copy_spec([ ++ "/var/lib/ovn-ic/etc/libovsdb.log", ++ "/var/lib/ovn-ic/etc/libovsdb*log.gz" ++ ], sizelimit=100) ++ else: ++ self.add_copy_spec("/var/lib/ovn-ic/etc/libovsdb*log*") + + # The ovn cluster/status is not valid anymore for interconnect setup. + self.add_cmd_output([ +From 7cd6f61fd15ae7fc93d62cca927204351cdc1322 Mon Sep 17 00:00:00 2001 +From: Periyasamy Palanisamy +Date: Wed, 30 Aug 2023 09:56:40 +0200 +Subject: [PATCH] Collect logs from ovnkube-controller container + +This enables ovn sos report plugin to collect logs ovnkube-controller +container because ovn-kubernetes now provides option to run both +ovnkube-node and ovnkube-controller in same container with this +PR https://github.com/ovn-org/ovn-kubernetes/pull/3807. + +Signed-off-by: Periyasamy Palanisamy +--- + sos/report/plugins/openshift_ovn.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/sos/report/plugins/openshift_ovn.py b/sos/report/plugins/openshift_ovn.py +index 347b15eea..cb48057d3 100644 +--- a/sos/report/plugins/openshift_ovn.py ++++ b/sos/report/plugins/openshift_ovn.py +@@ -16,7 +16,8 @@ class OpenshiftOVN(Plugin, RedHatPlugin): + """ + short_desc = 'Openshift OVN' + plugin_name = "openshift_ovn" +- containers = ('ovnkube-master', 'ovnkube-node', 'ovn-ipsec') ++ containers = ('ovnkube-master', 'ovnkube-node', 'ovn-ipsec', ++ 'ovnkube-controller') + profiles = ('openshift',) + + def setup(self): +@@ -54,6 +55,10 @@ def setup(self): + 'ovs-appctl -t /var/run/ovn/ovn-controller.*.ctl ' + + 'ct-zone-list'], + container='ovnkube-node') ++ self.add_cmd_output([ ++ 'ovs-appctl -t /var/run/ovn/ovn-controller.*.ctl ' + ++ 'ct-zone-list'], ++ container='ovnkube-controller') + # Collect ovs ct-zone-list directly on host for interconnect setup. + self.add_cmd_output([ + 'ovs-appctl -t /var/run/ovn-ic/ovn-controller.*.ctl ' + diff --git a/sos.spec b/sos.spec index fb7fd81..6b230be 100644 --- a/sos.spec +++ b/sos.spec @@ -5,7 +5,7 @@ Summary: A set of tools to gather troubleshooting information from a system Name: sos Version: 4.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/System Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz Source1: sos-audit-%{auditversion}.tgz @@ -22,6 +22,7 @@ Recommends: python3-pexpect Recommends: python3-pyyaml Conflicts: vdsm < 4.40 Obsoletes: sos-collector +Patch1: sos-SUPDEV145-ovnkube-logs.patch %description Sos is a set of tools that gathers information about system @@ -32,6 +33,8 @@ support technicians and developers. %prep %setup -qn %{name}-%{version} %setup -T -D -a1 -q +%patch1 -p1 + %build %py3_build @@ -104,6 +107,10 @@ of the system. Currently storage and filesystem commands are audited. %ghost /etc/audit/rules.d/40-sos-storage.rules %changelog +* Fri Sep 01 2023 Pavel Moravec = 4.6.0-2 +- [openshift_ovn] Collect additional ovnkube node logs + Resolves: SUPDEV145 + * Wed Aug 23 2023 Jan Jansky = 4.6.0-1 - [cleaner] Use data filter for extraction Resolves: bz2218873