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 ' +