Compare commits
23 Commits
changed/a8
...
c8
Author | SHA1 | Date | |
---|---|---|---|
ee271c3b5d | |||
c37e46b1d4 | |||
3b03cb9eca | |||
a38c3757d0 | |||
8e4ba32c9a | |||
2b6c5de85d | |||
|
cce1af82c4 | ||
|
157c2d14d2 | ||
|
61cc2ee9bf | ||
|
e3bb8bf563 | ||
fb09e4e130 | |||
d3882c8950 | |||
|
4687c2a676 | ||
|
6a8faadccd | ||
|
060d481de2 | ||
|
7e8c859249 | ||
|
d234a20dd2 | ||
|
ab21b6ae02 | ||
|
fb57ab1960 | ||
|
21676fc4bb | ||
|
749b3ee31b | ||
|
76e87b6741 | ||
|
8defa491d2 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
SOURCES/sos-4.0.tar.gz
|
||||
SOURCES/sos-4.8.2.tar.gz
|
||||
SOURCES/sos-audit-0.3.tgz
|
||||
|
@ -1,2 +1,2 @@
|
||||
f4850f7d3a4cd3e52f58bbc408e8d5e17df04741 SOURCES/sos-4.0.tar.gz
|
||||
ac691982f309879317709ce8c9cfa2c07631b89f SOURCES/sos-4.8.2.tar.gz
|
||||
9d478b9f0085da9178af103078bbf2fd77b0175a SOURCES/sos-audit-0.3.tgz
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 086c1c5ca52b0ed8b810ad5a293a574ba990e635 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 13 Oct 2020 20:14:35 +0200
|
||||
Subject: [PATCH] [cleaner] more streamlined sanitize_item method
|
||||
|
||||
Remove a duplicate call in both IF branches.
|
||||
|
||||
Resolves: #2272
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/cleaner/mappings/ip_map.py | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sos/cleaner/mappings/ip_map.py b/sos/cleaner/mappings/ip_map.py
|
||||
index 45fd9739..e6dffd60 100644
|
||||
--- a/sos/cleaner/mappings/ip_map.py
|
||||
+++ b/sos/cleaner/mappings/ip_map.py
|
||||
@@ -121,13 +121,12 @@ class SoSIPMap(SoSMap):
|
||||
# network and if it has, replace the default /32 netmask that
|
||||
# ipaddress applies to no CIDR-notated addresses
|
||||
self.set_ip_cidr_from_existing_subnet(addr)
|
||||
- return self.sanitize_ipaddr(addr)
|
||||
else:
|
||||
# we have a CIDR notation, so generate an obfuscated network
|
||||
# address and then generate an IP address within that network's
|
||||
# range
|
||||
self.sanitize_network(network)
|
||||
- return self.sanitize_ipaddr(addr)
|
||||
+ return self.sanitize_ipaddr(addr)
|
||||
|
||||
def sanitize_network(self, network):
|
||||
"""Obfuscate the network address provided, and if there are host bits
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,42 +0,0 @@
|
||||
From bbd28011f8bb710d64283bd6d3ec68c0fb5430b4 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Fri, 6 Nov 2020 21:28:37 +0100
|
||||
Subject: [PATCH] [ovirt] collect /etc/pki/ovirt-engine/.truststore
|
||||
|
||||
.truststore contains useful public CAs but a_c_s skips collecting
|
||||
that hidden file.
|
||||
|
||||
Closes: #2296
|
||||
Resolves: #2297
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/ovirt.py | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sos/report/plugins/ovirt.py b/sos/report/plugins/ovirt.py
|
||||
index 4c112cac..127c971c 100644
|
||||
--- a/sos/report/plugins/ovirt.py
|
||||
+++ b/sos/report/plugins/ovirt.py
|
||||
@@ -137,12 +137,15 @@ class Ovirt(Plugin, RedHatPlugin):
|
||||
"/var/lib/ovirt-engine-reports/jboss_runtime/config"
|
||||
])
|
||||
|
||||
- # Copying host certs.
|
||||
+ # Copying host certs; extra copy the hidden .truststore file
|
||||
self.add_forbidden_path([
|
||||
"/etc/pki/ovirt-engine/keys",
|
||||
"/etc/pki/ovirt-engine/private"
|
||||
])
|
||||
- self.add_copy_spec("/etc/pki/ovirt-engine/")
|
||||
+ self.add_copy_spec([
|
||||
+ "/etc/pki/ovirt-engine/",
|
||||
+ "/etc/pki/ovirt-engine/.truststore",
|
||||
+ ])
|
||||
|
||||
def postproc(self):
|
||||
"""
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,179 +0,0 @@
|
||||
From 4e46e0c8db3e2ecea7279ae7a781ae2e22a81b69 Mon Sep 17 00:00:00 2001
|
||||
From: David Vallee Delisle <dvd@redhat.com>
|
||||
Date: Mon, 31 Aug 2020 18:58:42 -0400
|
||||
Subject: [PATCH] [openstack_ironic] Missing ironic-inspector configs
|
||||
|
||||
We're missing the ironic-inspector configurations, probably because they
|
||||
were in the RedHatPlugin class, at the bottom of the file and they were
|
||||
probably missed when updating this plugin. Moving them at the top with
|
||||
the other `add_copy_spec` will help tracking them in case something
|
||||
change again.
|
||||
|
||||
Revamping also the way we grab logs to check if we're in a container
|
||||
first.
|
||||
|
||||
Resolves: #2223
|
||||
|
||||
Signed-off-by: David Vallee Delisle <dvd@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/openstack_ironic.py | 121 +++++++++++++++++--------
|
||||
1 file changed, 82 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/sos/report/plugins/openstack_ironic.py b/sos/report/plugins/openstack_ironic.py
|
||||
index 314d2a58..57060a27 100644
|
||||
--- a/sos/report/plugins/openstack_ironic.py
|
||||
+++ b/sos/report/plugins/openstack_ironic.py
|
||||
@@ -20,41 +20,95 @@ class OpenStackIronic(Plugin):
|
||||
profiles = ('openstack', 'openstack_undercloud')
|
||||
|
||||
var_puppet_gen = "/var/lib/config-data/puppet-generated/ironic"
|
||||
+ ins_puppet_gen = var_puppet_gen + "_inspector"
|
||||
|
||||
def setup(self):
|
||||
- self.conf_list = [
|
||||
- "/etc/ironic/*",
|
||||
- self.var_puppet_gen + "/etc/ironic/*",
|
||||
- self.var_puppet_gen + "_api/etc/ironic/*"
|
||||
- ]
|
||||
- self.add_copy_spec([
|
||||
- "/etc/ironic/",
|
||||
- self.var_puppet_gen + "/etc/xinetd.conf",
|
||||
- self.var_puppet_gen + "/etc/xinetd.d/",
|
||||
- self.var_puppet_gen + "/etc/ironic/",
|
||||
- self.var_puppet_gen + "/etc/httpd/conf/",
|
||||
- self.var_puppet_gen + "/etc/httpd/conf.d/",
|
||||
- self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
|
||||
- self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
|
||||
- self.var_puppet_gen + "_api/etc/ironic/",
|
||||
- self.var_puppet_gen + "_api/etc/httpd/conf/",
|
||||
- self.var_puppet_gen + "_api/etc/httpd/conf.d/",
|
||||
- self.var_puppet_gen + "_api/etc/httpd/conf.modules.d/*.conf",
|
||||
- self.var_puppet_gen + "_api/etc/my.cnf.d/tripleo.cnf"
|
||||
- ])
|
||||
-
|
||||
- if self.get_option("all_logs"):
|
||||
+
|
||||
+ in_container = self.container_exists('.*ironic_api')
|
||||
+
|
||||
+ if in_container:
|
||||
+ self.conf_list = [
|
||||
+ self.var_puppet_gen + "/etc/ironic/*",
|
||||
+ self.var_puppet_gen + "/etc/ironic-inspector/*",
|
||||
+ self.var_puppet_gen + "_api/etc/ironic/*",
|
||||
+ self.ins_puppet_gen + "/etc/ironic-inspector/*",
|
||||
+ self.ins_puppet_gen + "/var/lib/httpboot/inspector.ipxe"
|
||||
+ ]
|
||||
self.add_copy_spec([
|
||||
- "/var/log/ironic/",
|
||||
+ "/var/lib/ironic-inspector/",
|
||||
+ "/var/log/containers/ironic-inspector/ramdisk/",
|
||||
+ self.var_puppet_gen + "/etc/xinetd.conf",
|
||||
+ self.var_puppet_gen + "/etc/xinetd.d/",
|
||||
+ self.var_puppet_gen + "/etc/ironic/",
|
||||
+ self.var_puppet_gen + "/etc/ironic-inspector/",
|
||||
+ self.var_puppet_gen + "/etc/httpd/conf/",
|
||||
+ self.var_puppet_gen + "/etc/httpd/conf.d/",
|
||||
+ self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",
|
||||
+ self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",
|
||||
+ self.var_puppet_gen + "_api/etc/ironic/",
|
||||
+ self.var_puppet_gen + "_api/etc/httpd/conf/",
|
||||
+ self.var_puppet_gen + "_api/etc/httpd/conf.d/",
|
||||
+ self.var_puppet_gen + "_api/etc/httpd/conf.modules.d/*.conf",
|
||||
+ self.var_puppet_gen + "_api/etc/my.cnf.d/tripleo.cnf",
|
||||
+ self.ins_puppet_gen + "/etc/ironic-inspector/*",
|
||||
+ self.ins_puppet_gen + "/var/lib/httpboot/inspector.ipxe"
|
||||
])
|
||||
+
|
||||
+ if self.get_option("all_logs"):
|
||||
+ self.add_copy_spec([
|
||||
+ "/var/log/containers/ironic/",
|
||||
+ "/var/log/containers/ironic-inspector/"
|
||||
+ ])
|
||||
+ else:
|
||||
+ self.add_copy_spec([
|
||||
+ "/var/log/containers/ironic/*.log",
|
||||
+ "/var/log/containers/ironic-inspector/*.log",
|
||||
+ ])
|
||||
+
|
||||
+ for path in ['/var/lib/ironic', '/httpboot', '/tftpboot',
|
||||
+ self.ins_puppet_gen + '/var/lib/httpboot/',
|
||||
+ self.ins_puppet_gen + '/var/lib/tftpboot/']:
|
||||
+ self.add_cmd_output('ls -laRt %s' % path)
|
||||
+ self.add_cmd_output('ls -laRt %s' %
|
||||
+ (self.var_puppet_gen + path))
|
||||
+
|
||||
+ # Let's get the packages from the containers, always helpful when
|
||||
+ # troubleshooting.
|
||||
+ for container_name in ['ironic_inspector_dnsmasq',
|
||||
+ 'ironic_inspector', 'ironic_pxe_http',
|
||||
+ 'ironic_pxe_tftp', 'ironic_neutron_agent',
|
||||
+ 'ironic_conductor', 'ironic_api']:
|
||||
+ if self.container_exists('.*' + container_name):
|
||||
+ self.add_cmd_output(self.fmt_container_cmd(container_name,
|
||||
+ 'rpm -qa'))
|
||||
+
|
||||
else:
|
||||
+ self.conf_list = [
|
||||
+ "/etc/ironic/*",
|
||||
+ "/etc/ironic-inspector/*",
|
||||
+ ]
|
||||
self.add_copy_spec([
|
||||
- "/var/log/ironic/*.log",
|
||||
+ "/etc/ironic/",
|
||||
+ "/etc/ironic-inspector/",
|
||||
+ "/var/lib/ironic-inspector/",
|
||||
+ "/var/log/ironic-inspector/ramdisk/",
|
||||
+ "/etc/my.cnf.d/tripleo.cnf",
|
||||
+ "/var/lib/httpboot/inspector.ipxe"
|
||||
])
|
||||
|
||||
- for path in ['/var/lib/ironic', '/httpboot', '/tftpboot']:
|
||||
- self.add_cmd_output('ls -laRt %s' % path)
|
||||
- self.add_cmd_output('ls -laRt %s' % (self.var_puppet_gen + path))
|
||||
+ if self.get_option("all_logs"):
|
||||
+ self.add_copy_spec([
|
||||
+ "/var/log/ironic/",
|
||||
+ "/var/log/ironic-inspector/",
|
||||
+ ])
|
||||
+ else:
|
||||
+ self.add_copy_spec([
|
||||
+ "/var/log/ironic/*.log",
|
||||
+ "/var/log/ironic-inspector/*.log",
|
||||
+ ])
|
||||
+
|
||||
+ for path in ['/var/lib/ironic', '/httpboot', '/tftpboot']:
|
||||
+ self.add_cmd_output('ls -laRt %s' % path)
|
||||
|
||||
vars_all = [p in os.environ for p in [
|
||||
'OS_USERNAME', 'OS_PASSWORD']]
|
||||
@@ -136,6 +190,7 @@ class RedHatIronic(OpenStackIronic, RedHatPlugin):
|
||||
def setup(self):
|
||||
super(RedHatIronic, self).setup()
|
||||
|
||||
+ # ironic-discoverd was renamed to ironic-inspector in Liberty
|
||||
# is the optional ironic-discoverd service installed?
|
||||
if any([self.is_installed(p) for p in self.discoverd_packages]):
|
||||
self.conf_list.append('/etc/ironic-discoverd/*')
|
||||
@@ -146,18 +201,6 @@ class RedHatIronic(OpenStackIronic, RedHatPlugin):
|
||||
self.add_journal(units="openstack-ironic-discoverd")
|
||||
self.add_journal(units="openstack-ironic-discoverd-dnsmasq")
|
||||
|
||||
- # ironic-discoverd was renamed to ironic-inspector in Liberty
|
||||
- self.conf_list.append('/etc/ironic-inspector/*')
|
||||
- self.conf_list.append(self.var_puppet_gen + '/etc/ironic-inspector/*')
|
||||
- self.add_copy_spec('/etc/ironic-inspector/')
|
||||
- self.add_copy_spec(self.var_puppet_gen + '/etc/ironic-inspector/')
|
||||
- self.add_copy_spec('/var/lib/ironic-inspector/')
|
||||
- if self.get_option("all_logs"):
|
||||
- self.add_copy_spec('/var/log/ironic-inspector/')
|
||||
- else:
|
||||
- self.add_copy_spec('/var/log/ironic-inspector/*.log')
|
||||
- self.add_copy_spec('/var/log/ironic-inspector/ramdisk/')
|
||||
-
|
||||
self.add_journal(units="openstack-ironic-inspector-dnsmasq")
|
||||
|
||||
if self.osc_available:
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,228 +0,0 @@
|
||||
From b8da3e3ed94075fa5ccf74a61ce64812b904d0c5 Mon Sep 17 00:00:00 2001
|
||||
From: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Date: Tue, 25 Aug 2020 14:16:52 +0530
|
||||
Subject: [PATCH] [powerpc]Add support to collect hardware component logs
|
||||
|
||||
This patch updates powerpc plugin to collect Hardware and
|
||||
firmware information.
|
||||
|
||||
In this patch we are reading Hardware and firmware version
|
||||
details through lsvpd, lscfg and lsmcode commands
|
||||
|
||||
Related: #2213
|
||||
|
||||
Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Reported-by: Borislav Stoymirski <borislav.stoymirski@bg.ibm.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/powerpc.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/report/plugins/powerpc.py b/sos/report/plugins/powerpc.py
|
||||
index 6cd8dd14..9f38bd7d 100644
|
||||
--- a/sos/report/plugins/powerpc.py
|
||||
+++ b/sos/report/plugins/powerpc.py
|
||||
@@ -50,7 +50,10 @@ class PowerPC(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin):
|
||||
"ppc64_cpu --run-mode",
|
||||
"ppc64_cpu --frequency",
|
||||
"ppc64_cpu --dscr",
|
||||
- "diag_encl -v"
|
||||
+ "diag_encl -v",
|
||||
+ "lsvpd -D",
|
||||
+ "lsmcode -A",
|
||||
+ "lscfg -v"
|
||||
])
|
||||
|
||||
if ispSeries:
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From 3d25bbfdadf6c5f33dba7522536f744da1940794 Mon Sep 17 00:00:00 2001
|
||||
From: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Date: Tue, 25 Aug 2020 14:21:21 +0530
|
||||
Subject: [PATCH] [iprconfig]Add support to collect RAID adapter logs
|
||||
|
||||
This patch updates iprconfig plugin to collect IBM Power
|
||||
RAID adapter device driver information.
|
||||
|
||||
Related: #2213
|
||||
|
||||
Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Reported-by: Borislav Stoymirski <borislav.stoymirski@bg.ibm.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/iprconfig.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sos/report/plugins/iprconfig.py b/sos/report/plugins/iprconfig.py
|
||||
index 08503a78..f7511a6c 100644
|
||||
--- a/sos/report/plugins/iprconfig.py
|
||||
+++ b/sos/report/plugins/iprconfig.py
|
||||
@@ -32,6 +32,7 @@ class IprConfig(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin):
|
||||
"iprconfig -c show-af-disks",
|
||||
"iprconfig -c show-all-af-disks",
|
||||
"iprconfig -c show-slots",
|
||||
+ "iprconfig -c dump"
|
||||
])
|
||||
|
||||
show_ioas = self.collect_cmd_output("iprconfig -c show-ioas")
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From effdb3b84ab80fa68d41af1438bfae465c571127 Mon Sep 17 00:00:00 2001
|
||||
From: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Date: Tue, 25 Aug 2020 14:30:23 +0530
|
||||
Subject: [PATCH] [kernel]Add support to collect network debugging logs
|
||||
|
||||
This patch is to collect hybrid network debugging messages
|
||||
|
||||
Related: #2213
|
||||
|
||||
Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Reported-by: Luciano Chavez <lnx1138@linux.vnet.ibm.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/kernel.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sos/report/plugins/kernel.py b/sos/report/plugins/kernel.py
|
||||
index febe2ad0..27e0e4d0 100644
|
||||
--- a/sos/report/plugins/kernel.py
|
||||
+++ b/sos/report/plugins/kernel.py
|
||||
@@ -106,6 +106,7 @@ class Kernel(Plugin, IndependentPlugin):
|
||||
"/proc/misc",
|
||||
"/var/log/dmesg",
|
||||
"/sys/fs/pstore",
|
||||
+ "/var/log/hcnmgr",
|
||||
clocksource_path + "available_clocksource",
|
||||
clocksource_path + "current_clocksource"
|
||||
])
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From b3fd83f0cc92b89e7adf8d66c446f3cf5ab1388b Mon Sep 17 00:00:00 2001
|
||||
From: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Date: Mon, 31 Aug 2020 10:56:15 +0530
|
||||
Subject: [PATCH] [mvcli]Add support to collect mvCLI PCI adapter infomation
|
||||
|
||||
This patch is to add new plugin mvcli to collect
|
||||
SATA drives connected to system backplane adapter information.
|
||||
|
||||
infor -o vd ----> If the virtual disk was successfully
|
||||
created, show a new RAID virtual disk
|
||||
info -o pd -----> To show all physical disks and IDs:
|
||||
info -o hba -----> To show all host bus adapters (HBAs):
|
||||
smart -p 0 -----> To check for errors on a disk:
|
||||
|
||||
Related: #2213
|
||||
|
||||
Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Reported-by: Borislav Stoymirski <borislav.stoymirski@bg.ibm.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/mvcli.py | 35 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 35 insertions(+)
|
||||
create mode 100644 sos/report/plugins/mvcli.py
|
||||
|
||||
diff --git a/sos/report/plugins/mvcli.py b/sos/report/plugins/mvcli.py
|
||||
new file mode 100644
|
||||
index 00000000..ce7bf77b
|
||||
--- /dev/null
|
||||
+++ b/sos/report/plugins/mvcli.py
|
||||
@@ -0,0 +1,35 @@
|
||||
+# This file is part of the sos project: https://github.com/sosreport/sos
|
||||
+#
|
||||
+# This copyrighted material is made available to anyone wishing to use,
|
||||
+# modify, copy, or redistribute it subject to the terms and conditions of
|
||||
+# version 2 of the GNU General Public License.
|
||||
+#
|
||||
+# See the LICENSE file in the source distribution for further information.
|
||||
+
|
||||
+
|
||||
+# This sosreport plugin is meant for sas adapters.
|
||||
+# This plugin logs inforamtion on each adapter it finds.
|
||||
+
|
||||
+from sos.report.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin
|
||||
+
|
||||
+
|
||||
+class mvCLI(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin):
|
||||
+
|
||||
+ short_desc = 'mvCLI Integrated RAID adapter information'
|
||||
+
|
||||
+ plugin_name = "mvcli"
|
||||
+ commands = ("/opt/marvell/bin/mvcli",)
|
||||
+
|
||||
+ def setup(self):
|
||||
+
|
||||
+ # get list of adapters
|
||||
+ subcmds = [
|
||||
+ 'info -o vd',
|
||||
+ 'info -o pd',
|
||||
+ 'info -o hba',
|
||||
+ 'smart -p 0',
|
||||
+ ]
|
||||
+
|
||||
+ self.add_cmd_output(["/opt/marvell/bin/mvcli %s" % s for s in subcmds])
|
||||
+
|
||||
+# vim: et ts=4 sw=4
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From 48ac730fbf4b168604079b18675867c5ed6dc1ae Mon Sep 17 00:00:00 2001
|
||||
From: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Date: Mon, 31 Aug 2020 11:54:52 +0530
|
||||
Subject: [PATCH] [arcconf]Add support to collect arcconf adapter infomation
|
||||
|
||||
This patch is to add new arcconf plugin to collect
|
||||
SATA drives connected to system backplane adapter information.
|
||||
|
||||
arcconf getconfig 1 ----> To list the logical drives and
|
||||
device configurations
|
||||
|
||||
Closes: #2213
|
||||
|
||||
Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Reported-by: Borislav Stoymirski <borislav.stoymirski@bg.ibm.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/arcconf.py | 28 ++++++++++++++++++++++++++++
|
||||
1 file changed, 28 insertions(+)
|
||||
create mode 100644 sos/report/plugins/arcconf.py
|
||||
|
||||
diff --git a/sos/report/plugins/arcconf.py b/sos/report/plugins/arcconf.py
|
||||
new file mode 100644
|
||||
index 00000000..64d6bb1e
|
||||
--- /dev/null
|
||||
+++ b/sos/report/plugins/arcconf.py
|
||||
@@ -0,0 +1,28 @@
|
||||
+# This file is part of the sos project: https://github.com/sosreport/sos
|
||||
+#
|
||||
+# This copyrighted material is made available to anyone wishing to use,
|
||||
+# modify, copy, or redistribute it subject to the terms and conditions of
|
||||
+# version 2 of the GNU General Public License.
|
||||
+#
|
||||
+# See the LICENSE file in the source distribution for further information.
|
||||
+
|
||||
+
|
||||
+# This sosreport plugin is meant for sas adapters.
|
||||
+# This plugin logs inforamtion on each adapter it finds.
|
||||
+
|
||||
+from sos.report.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin
|
||||
+
|
||||
+
|
||||
+class arcconf(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin):
|
||||
+
|
||||
+ short_desc = 'arcconf Integrated RAID adapter information'
|
||||
+
|
||||
+ plugin_name = "arcconf"
|
||||
+ commands = ("arcconf",)
|
||||
+
|
||||
+ def setup(self):
|
||||
+
|
||||
+ # get list of adapters
|
||||
+ self.add_cmd_output("arcconf getconfig 1")
|
||||
+
|
||||
+# vim: et ts=4 sw=4
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,70 +0,0 @@
|
||||
From 019f7c49768f27ef15f39d80db8a03b2aaa453ee Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Mon, 21 Sep 2020 17:33:25 +0200
|
||||
Subject: [PATCH] [crio] collect /etc/crio/crio.conf.d/
|
||||
|
||||
Crio configs can be newly in the dir also.
|
||||
|
||||
Resolves: #2240
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/crio.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sos/report/plugins/crio.py b/sos/report/plugins/crio.py
|
||||
index dacc0745..e8b566c3 100644
|
||||
--- a/sos/report/plugins/crio.py
|
||||
+++ b/sos/report/plugins/crio.py
|
||||
@@ -31,6 +31,7 @@ class CRIO(Plugin, RedHatPlugin, UbuntuPlugin):
|
||||
"/etc/crictl.yaml",
|
||||
"/etc/crio/crio.conf",
|
||||
"/etc/crio/seccomp.json",
|
||||
+ "/etc/crio/crio.conf.d/",
|
||||
"/etc/systemd/system/cri-o.service",
|
||||
"/etc/sysconfig/crio-*"
|
||||
])
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From 7f72a36144b3e235159556689b5129b7453294e3 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 15 Dec 2020 14:19:34 +0100
|
||||
Subject: [PATCH] [component] Use sysroot from Policy when opts doesn't specify
|
||||
it
|
||||
|
||||
Until --sysroot option is specified, Archive (sub)classes should
|
||||
be called with sysroot determined from Policy.
|
||||
|
||||
Resolves: #2346
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/component.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sos/component.py b/sos/component.py
|
||||
index 69d3b755..7774c05a 100644
|
||||
--- a/sos/component.py
|
||||
+++ b/sos/component.py
|
||||
@@ -246,13 +246,13 @@ class SoSComponent():
|
||||
auto_archive = self.policy.get_preferred_archive()
|
||||
self.archive = auto_archive(archive_name, self.tmpdir,
|
||||
self.policy, self.opts.threads,
|
||||
- enc_opts, self.opts.sysroot,
|
||||
+ enc_opts, self.sysroot,
|
||||
self.manifest)
|
||||
|
||||
else:
|
||||
self.archive = TarFileArchive(archive_name, self.tmpdir,
|
||||
self.policy, self.opts.threads,
|
||||
- enc_opts, self.opts.sysroot,
|
||||
+ enc_opts, self.sysroot,
|
||||
self.manifest)
|
||||
|
||||
self.archive.set_debug(True if self.opts.debug else False)
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,211 +0,0 @@
|
||||
From a3b493a8accc338158faa53b9e221067323b75f5 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Hunsaker <jhunsake@redhat.com>
|
||||
Date: Thu, 24 Sep 2020 10:06:17 -0400
|
||||
Subject: [PATCH] [redhat] Ease upload url determination logic
|
||||
|
||||
The logic for determining if an archive should be uploaded to the
|
||||
Customer Portal was too strict, ease it to now properly only block on a
|
||||
missing case number since username and passwords may now be provided via
|
||||
env vars.
|
||||
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/policies/__init__.py | 6 ++++--
|
||||
sos/policies/redhat.py | 8 ++++++--
|
||||
2 files changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/sos/policies/__init__.py b/sos/policies/__init__.py
|
||||
index 9a1aac07..215739bd 100644
|
||||
--- a/sos/policies/__init__.py
|
||||
+++ b/sos/policies/__init__.py
|
||||
@@ -1427,8 +1427,8 @@ class LinuxPolicy(Policy):
|
||||
"""Should be overridden by policies to determine if a password needs to
|
||||
be provided for upload or not
|
||||
"""
|
||||
- if ((not self.upload_password and not self._upload_password) and
|
||||
- self.upload_user):
|
||||
+ if not self.get_upload_password() and (self.get_upload_user() !=
|
||||
+ self._upload_user):
|
||||
msg = (
|
||||
"Please provide the upload password for %s: "
|
||||
% self.upload_user
|
||||
@@ -1472,7 +1473,8 @@ class LinuxPolicy(Policy):
|
||||
Print a more human-friendly string than vendor URLs
|
||||
"""
|
||||
self.upload_archive = archive
|
||||
- self.upload_url = self.get_upload_url()
|
||||
+ if not self.upload_url:
|
||||
+ self.upload_url = self.get_upload_url()
|
||||
if not self.upload_url:
|
||||
raise Exception("No upload destination provided by policy or by "
|
||||
"--upload-url")
|
||||
diff --git a/sos/policies/redhat.py b/sos/policies/redhat.py
|
||||
index 34b421f3..f2f847a5 100644
|
||||
--- a/sos/policies/redhat.py
|
||||
+++ b/sos/policies/redhat.py
|
||||
@@ -320,12 +320,16 @@ support representative.
|
||||
"Enter your Red Hat Customer Portal username (empty to use "
|
||||
"public dropbox): ")
|
||||
)
|
||||
+ if not self.upload_user:
|
||||
+ self.upload_url = RH_FTP_HOST
|
||||
+ self.upload_user = self._upload_user
|
||||
|
||||
def get_upload_url(self):
|
||||
+ if self.upload_url:
|
||||
+ return self.upload_url
|
||||
if self.commons['cmdlineopts'].upload_url:
|
||||
return self.commons['cmdlineopts'].upload_url
|
||||
- if (not self.case_id or not self.upload_user or not
|
||||
- self.upload_password):
|
||||
+ if not self.case_id:
|
||||
# Cannot use the RHCP. Use anonymous dropbox
|
||||
self.upload_user = self._upload_user
|
||||
self.upload_directory = self._upload_directory
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From 11cc6f478a9b41ce81b5b74faab5ca42930262ee Mon Sep 17 00:00:00 2001
|
||||
From: Jake Hunsaker <jhunsake@redhat.com>
|
||||
Date: Thu, 24 Sep 2020 10:17:25 -0400
|
||||
Subject: [PATCH] [policy] Use user-provided FTP directory if specified
|
||||
|
||||
Fixes an issue whereby we ignore a user-provided FTP directory.
|
||||
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/policies/__init__.py | 2 +-
|
||||
sos/policies/redhat.py | 3 ++-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sos/policies/__init__.py b/sos/policies/__init__.py
|
||||
index 215739bd..32f271d9 100644
|
||||
--- a/sos/policies/__init__.py
|
||||
+++ b/sos/policies/__init__.py
|
||||
@@ -1677,7 +1677,7 @@ class LinuxPolicy(Policy):
|
||||
password = self.get_upload_password()
|
||||
|
||||
if not directory:
|
||||
- directory = self._upload_directory
|
||||
+ directory = self.upload_directory or self._upload_directory
|
||||
|
||||
try:
|
||||
session = ftplib.FTP(url, user, password)
|
||||
diff --git a/sos/policies/redhat.py b/sos/policies/redhat.py
|
||||
index f2f847a5..d079406f 100644
|
||||
--- a/sos/policies/redhat.py
|
||||
+++ b/sos/policies/redhat.py
|
||||
@@ -332,7 +332,8 @@ support representative.
|
||||
if not self.case_id:
|
||||
# Cannot use the RHCP. Use anonymous dropbox
|
||||
self.upload_user = self._upload_user
|
||||
- self.upload_directory = self._upload_directory
|
||||
+ if self.upload_directory is None:
|
||||
+ self.upload_directory = self._upload_directory
|
||||
self.upload_password = None
|
||||
return RH_FTP_HOST
|
||||
else:
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From caa9a2f2a511689080d019ffab61a4de5787d8be Mon Sep 17 00:00:00 2001
|
||||
From: Jake Hunsaker <jhunsake@redhat.com>
|
||||
Date: Thu, 24 Sep 2020 10:25:00 -0400
|
||||
Subject: [PATCH] [policy] Handle additional failure conditions for FTP uploads
|
||||
|
||||
Adds a timeout and a timeout handler for FTP connections, rather than
|
||||
letting the connection attempt continue indefinitely.
|
||||
|
||||
Second, adds exception handling for an edge case where the connection to
|
||||
the FTP server fails, but does not generate an exception from the ftplib
|
||||
module.
|
||||
|
||||
Additionally, correct the type-ing of the error numbers being checked so
|
||||
that we actually match them.
|
||||
|
||||
Resolves: #2245
|
||||
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/policies/__init__.py | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sos/policies/__init__.py b/sos/policies/__init__.py
|
||||
index 32f271d9..826d022e 100644
|
||||
--- a/sos/policies/__init__.py
|
||||
+++ b/sos/policies/__init__.py
|
||||
@@ -1680,15 +1680,20 @@ class LinuxPolicy(Policy):
|
||||
directory = self.upload_directory or self._upload_directory
|
||||
|
||||
try:
|
||||
- session = ftplib.FTP(url, user, password)
|
||||
+ session = ftplib.FTP(url, user, password, timeout=15)
|
||||
+ if not session:
|
||||
+ raise Exception("connection failed, did you set a user and "
|
||||
+ "password?")
|
||||
session.cwd(directory)
|
||||
+ except socket.timeout:
|
||||
+ raise Exception("timeout hit while connecting to %s" % url)
|
||||
except socket.gaierror:
|
||||
raise Exception("unable to connect to %s" % url)
|
||||
except ftplib.error_perm as err:
|
||||
errno = str(err).split()[0]
|
||||
- if errno == 503:
|
||||
+ if errno == '503':
|
||||
raise Exception("could not login as '%s'" % user)
|
||||
- if errno == 550:
|
||||
+ if errno == '550':
|
||||
raise Exception("could not set upload directory to %s"
|
||||
% directory)
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From 21720a0f8c9cf6739e26470b2280e005f0f3e3f1 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Thu, 15 Oct 2020 13:45:37 +0200
|
||||
Subject: [PATCH] [policy] Use FTP server when user isnt set in batch mode
|
||||
|
||||
Caling "sos report --upload --case-id=123 --batch" should fallback
|
||||
to uploading to FTP server as the upload user is unknown and can't
|
||||
be prompted in batch mode.
|
||||
|
||||
Resolves: #2276
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/policies/redhat.py | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sos/policies/redhat.py b/sos/policies/redhat.py
|
||||
index d079406f..3a65b9fa 100644
|
||||
--- a/sos/policies/redhat.py
|
||||
+++ b/sos/policies/redhat.py
|
||||
@@ -324,13 +324,21 @@ support representative.
|
||||
self.upload_url = RH_FTP_HOST
|
||||
self.upload_user = self._upload_user
|
||||
|
||||
+ def _upload_user_set(self):
|
||||
+ user = self.get_upload_user()
|
||||
+ return user and (user != 'anonymous')
|
||||
+
|
||||
def get_upload_url(self):
|
||||
if self.upload_url:
|
||||
return self.upload_url
|
||||
if self.commons['cmdlineopts'].upload_url:
|
||||
return self.commons['cmdlineopts'].upload_url
|
||||
- if not self.case_id:
|
||||
- # Cannot use the RHCP. Use anonymous dropbox
|
||||
+ # anonymous FTP server should be used as fallback when either:
|
||||
+ # - case id is not set, or
|
||||
+ # - upload user isn't set AND batch mode prevents to prompt for it
|
||||
+ if (not self.case_id) or \
|
||||
+ ((not self._upload_user_set()) and
|
||||
+ self.commons['cmdlineopts'].batch):
|
||||
self.upload_user = self._upload_user
|
||||
if self.upload_directory is None:
|
||||
self.upload_directory = self._upload_directory
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 6a4e3fb718a5c3249425dc4ae167b977abdb7f2e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
|
||||
Date: Thu, 8 Oct 2020 11:51:13 +0200
|
||||
Subject: [PATCH] [filesys] never collect content of /proc/fs/panfs
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
panfs (from Panasas company) provides statistics under /proc/fs/panfs
|
||||
which makes sosreports become several hundreds of GBs. This path must
|
||||
hence be blacklisted.
|
||||
|
||||
Resolves: #2262
|
||||
|
||||
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/filesys.py | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sos/report/plugins/filesys.py b/sos/report/plugins/filesys.py
|
||||
index 3baec3ce..57f608d0 100644
|
||||
--- a/sos/report/plugins/filesys.py
|
||||
+++ b/sos/report/plugins/filesys.py
|
||||
@@ -43,6 +43,8 @@ class Filesys(Plugin, DebianPlugin, UbuntuPlugin, CosPlugin):
|
||||
"lslocks"
|
||||
])
|
||||
|
||||
+ self.add_forbidden_path('/proc/fs/panfs')
|
||||
+
|
||||
if self.get_option('lsof'):
|
||||
self.add_cmd_output("lsof -b +M -n -l -P", root_symlink="lsof")
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,49 +0,0 @@
|
||||
From be347440d5f8d650791ff044970c5e65ee8ec2a3 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Castillo <jcastillo@redhat.com>
|
||||
Date: Mon, 12 Oct 2020 13:47:47 +0100
|
||||
Subject: [PATCH] [kdump] Collect new kdump logfiles
|
||||
|
||||
Two new logfiles are available in kdump:
|
||||
|
||||
/var/log/kdump.log
|
||||
/var/crash/*/kexec-kdump.log
|
||||
|
||||
The path for the second logfile mentioned above is the
|
||||
default one, but this patch deals with a change in
|
||||
default directory the same way that we do with the
|
||||
file vmcore-dmesg.txt.
|
||||
|
||||
Resolves: RHBZ#1817042 and RHBZ#1887390.
|
||||
Resolves: #2270
|
||||
|
||||
Signed-off-by: Jose Castillo <jcastillo@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/kdump.py | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/report/plugins/kdump.py b/sos/report/plugins/kdump.py
|
||||
index 41d08b5b..4eccb3ff 100644
|
||||
--- a/sos/report/plugins/kdump.py
|
||||
+++ b/sos/report/plugins/kdump.py
|
||||
@@ -71,7 +71,8 @@ class RedHatKDump(KDump, RedHatPlugin):
|
||||
self.add_copy_spec([
|
||||
"/etc/kdump.conf",
|
||||
"/etc/udev/rules.d/*kexec.rules",
|
||||
- "/var/crash/*/vmcore-dmesg.txt"
|
||||
+ "/var/crash/*/vmcore-dmesg.txt",
|
||||
+ "/var/log/kdump.log"
|
||||
])
|
||||
try:
|
||||
path = self.read_kdump_conffile()
|
||||
@@ -80,6 +81,7 @@ class RedHatKDump(KDump, RedHatPlugin):
|
||||
path = "/var/crash"
|
||||
|
||||
self.add_copy_spec("{}/*/vmcore-dmesg.txt".format(path))
|
||||
+ self.add_copy_spec("{}/*/kexec-kdump.log".format(path))
|
||||
|
||||
|
||||
class DebianKDump(KDump, DebianPlugin, UbuntuPlugin):
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,40 +0,0 @@
|
||||
From a0cb4efb473a553fa034aaa8980635897adf1894 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Castillo <jcastillo@redhat.com>
|
||||
Date: Tue, 26 Jan 2021 16:20:44 +0100
|
||||
Subject: [PATCH] [kdump] Gather the file kexec-dmesg.log
|
||||
|
||||
Moved the file name from kexec-kdump.log to
|
||||
the right one, kexec-dmesg.log and
|
||||
added it to the list of files to gather via
|
||||
add_copy_spec as per #1546.
|
||||
|
||||
Resolves: RHBZ#1817042
|
||||
Resolves: #2386
|
||||
|
||||
Signed-off-by: Jose Castillo <jcastillo@redhat.com>
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
---
|
||||
sos/report/plugins/kdump.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/report/plugins/kdump.py b/sos/report/plugins/kdump.py
|
||||
index 4eccb3ffe..6bcb7f74d 100644
|
||||
--- a/sos/report/plugins/kdump.py
|
||||
+++ b/sos/report/plugins/kdump.py
|
||||
@@ -72,6 +72,7 @@ def setup(self):
|
||||
"/etc/kdump.conf",
|
||||
"/etc/udev/rules.d/*kexec.rules",
|
||||
"/var/crash/*/vmcore-dmesg.txt",
|
||||
+ "/var/crash/*/kexec-dmesg.log",
|
||||
"/var/log/kdump.log"
|
||||
])
|
||||
try:
|
||||
@@ -81,7 +82,7 @@ def setup(self):
|
||||
path = "/var/crash"
|
||||
|
||||
self.add_copy_spec("{}/*/vmcore-dmesg.txt".format(path))
|
||||
- self.add_copy_spec("{}/*/kexec-kdump.log".format(path))
|
||||
+ self.add_copy_spec("{}/*/kexec-dmesg.log".format(path))
|
||||
|
||||
|
||||
class DebianKDump(KDump, DebianPlugin, UbuntuPlugin):
|
@ -1,36 +0,0 @@
|
||||
From 22b19739d94f0a40fb8dfd3236e63991a0c027b9 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Wed, 14 Oct 2020 08:33:28 +0200
|
||||
Subject: [PATCH] [stratis] Collect key list and report engine
|
||||
|
||||
Required for troubleshooting Stratis-engine v. 2.1.0.
|
||||
|
||||
Resolves: #2274
|
||||
Closes: #2273
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/stratis.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/report/plugins/stratis.py b/sos/report/plugins/stratis.py
|
||||
index b6071d32..a41c9476 100644
|
||||
--- a/sos/report/plugins/stratis.py
|
||||
+++ b/sos/report/plugins/stratis.py
|
||||
@@ -24,8 +24,11 @@ class Stratis(Plugin, RedHatPlugin):
|
||||
'pool list',
|
||||
'filesystem list',
|
||||
'blockdev list',
|
||||
+ 'key list',
|
||||
'daemon redundancy',
|
||||
- 'daemon version'
|
||||
+ 'daemon version',
|
||||
+ 'report engine_state_report',
|
||||
+ '--version',
|
||||
]
|
||||
|
||||
self.add_cmd_output(["stratis %s" % subcmd for subcmd in subcmds])
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,34 +0,0 @@
|
||||
From c07bdbc94269603d2b910ccafa289512478160aa Mon Sep 17 00:00:00 2001
|
||||
From: Jake Hunsaker <jhunsake@redhat.com>
|
||||
Date: Mon, 26 Oct 2020 14:11:56 -0400
|
||||
Subject: [PATCH] [sos] Fix use of relative paths for --tmp-dir
|
||||
|
||||
Fixes an issue where the use of relative paths for `--tmp-dir` causes a
|
||||
failure in the building of the final archive. Previously, a relative
|
||||
path would cause the tarball to be produced in a nested directory under
|
||||
the temp directory of the same name, which would in turn cause
|
||||
compression and all further operations for the archive to fail.
|
||||
|
||||
Fix this by converting relative paths in the option to the absolute path
|
||||
internally.
|
||||
|
||||
Resolves: RHBZ#1891562
|
||||
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/component.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/component.py b/sos/component.py
|
||||
index 0aef770c6..b44fdf829 100644
|
||||
--- a/sos/component.py
|
||||
+++ b/sos/component.py
|
||||
@@ -138,7 +138,7 @@ def get_tmpdir_default(self):
|
||||
use a standardized env var to redirect to the host's filesystem instead
|
||||
"""
|
||||
if self.opts.tmp_dir:
|
||||
- return self.opts.tmp_dir
|
||||
+ return os.path.abspath(self.opts.tmp_dir)
|
||||
|
||||
tmpdir = '/var/tmp'
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 1c6efee74557f433dfc5b67fb8ab76b0d9e6f988 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 8 Dec 2020 20:02:37 +0100
|
||||
Subject: [PATCH] [collector] allow overriding plain --cluster-type
|
||||
|
||||
In few user scenarios, it is useful to force sos collect to override
|
||||
cluster type, but let it generate list of nodes by itself. For that,
|
||||
it is sufficient to set the self.cluster_type accordingly.
|
||||
|
||||
Resolves: #2331
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/collector/__init__.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sos/collector/__init__.py b/sos/collector/__init__.py
|
||||
index 1abb08ae..bd84acaf 100644
|
||||
--- a/sos/collector/__init__.py
|
||||
+++ b/sos/collector/__init__.py
|
||||
@@ -764,6 +764,7 @@ class SoSCollector(SoSComponent):
|
||||
self.cluster = self.clusters['jbon']
|
||||
else:
|
||||
self.cluster = self.clusters[self.opts.cluster_type]
|
||||
+ self.cluster_type = self.opts.cluster_type
|
||||
self.cluster.master = self.master
|
||||
|
||||
else:
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 169898b47b26734a8cdcb748157f7314f7f8821b Mon Sep 17 00:00:00 2001
|
||||
From: Erik Bernoth <ebernoth@redhat.com>
|
||||
Date: Tue, 10 Nov 2020 18:32:40 +0100
|
||||
Subject: [PATCH] [component] Add log verbosity from presets
|
||||
|
||||
Closes: #2289
|
||||
|
||||
The main problem this tries to solve was that preset verbosity was
|
||||
ignored in logging.
|
||||
|
||||
With a simple test this could be reproduced:
|
||||
sudo sh -c "source /path/to/repo/sosreport/venv/bin/activate; \
|
||||
cd /tmp/foo; sos report --preset sostestpreset; cd -"
|
||||
|
||||
The bug is that without a change of code there are no messages from the
|
||||
plugin `host` (no lines of output start wiht "[plugin:host]").
|
||||
|
||||
The problem is that the logging is set in the inherited __init__() method
|
||||
from Component, but the presets are only handled afterwards in the
|
||||
Report's __init__().
|
||||
|
||||
Since it is good to have logging configured from the beginning, the
|
||||
only option is to reconfigure it after the preset config is known.
|
||||
|
||||
The simplest method is to reinitialize the logging, although maybe not
|
||||
the most efficient.
|
||||
|
||||
Signed-off-by: Erik Bernoth <ebernoth@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/__init__.py | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/sos/report/__init__.py b/sos/report/__init__.py
|
||||
index 2e97010b..c6b0c21c 100644
|
||||
--- a/sos/report/__init__.py
|
||||
+++ b/sos/report/__init__.py
|
||||
@@ -153,6 +153,12 @@ class SoSReport(SoSComponent):
|
||||
self.opts.merge(self.preset.opts)
|
||||
# re-apply any cmdline overrides to the preset
|
||||
self.opts = self.apply_options_from_cmdline(self.opts)
|
||||
+ if hasattr(self.preset.opts, 'verbosity') and \
|
||||
+ self.preset.opts.verbosity > 0:
|
||||
+ print('\nWARNING: It is not recommended to set verbosity via the '
|
||||
+ 'preset as it might have\nunforseen consequences for your '
|
||||
+ 'report logs.\n')
|
||||
+ self._setup_logging()
|
||||
|
||||
self._set_directories()
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,56 +0,0 @@
|
||||
From c2ddb50fbbb045daffa6fe5cf489fe47aeef4590 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Hunsaker <jhunsake@redhat.com>
|
||||
Date: Wed, 9 Dec 2020 10:21:32 -0500
|
||||
Subject: [PATCH] [options] Fix --log-size=0 being ignored and unreported
|
||||
otherwise
|
||||
|
||||
The `--log-size` option was being silently ignored, due to a too-loose
|
||||
conditional in `Component.apply_options_from_cmdline()` which was
|
||||
inadvertently filtering out the option when a user set it to 0. Note
|
||||
that this did not affect `sos.conf` settings for this same value.
|
||||
|
||||
Similarly, reporting the effective options after preset and cmdline
|
||||
merging was skipping log-size when it was set to 0, since we normally
|
||||
want to filter out null-value options (which imply they were not
|
||||
invoked). Adding an explicit check for `log-size` here is the easiest
|
||||
route forward to allow the reporting we expect.
|
||||
|
||||
Closes: #2334
|
||||
Resolves: #2335
|
||||
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/component.py | 2 +-
|
||||
sos/options.py | 3 +++
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/component.py b/sos/component.py
|
||||
index 00f27f5e..69d3b755 100644
|
||||
--- a/sos/component.py
|
||||
+++ b/sos/component.py
|
||||
@@ -192,7 +192,7 @@ class SoSComponent():
|
||||
for opt, val in codict.items():
|
||||
if opt not in cmdopts.arg_defaults.keys():
|
||||
continue
|
||||
- if val and val != opts.arg_defaults[opt]:
|
||||
+ if val is not None and val != opts.arg_defaults[opt]:
|
||||
setattr(opts, opt, val)
|
||||
|
||||
return opts
|
||||
diff --git a/sos/options.py b/sos/options.py
|
||||
index ba3db130..b82a7d36 100644
|
||||
--- a/sos/options.py
|
||||
+++ b/sos/options.py
|
||||
@@ -282,6 +282,9 @@ class SoSOptions():
|
||||
"""
|
||||
if name in ("add_preset", "del_preset", "desc", "note"):
|
||||
return False
|
||||
+ # Exception list for options that still need to be reported when 0
|
||||
+ if name in ['log_size', 'plugin_timeout'] and value == 0:
|
||||
+ return True
|
||||
return has_value(name, value)
|
||||
|
||||
def argify(name, value):
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,56 +0,0 @@
|
||||
From 15e54577289a29e72c636f8987859e91c3a55a7c Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Thu, 10 Dec 2020 20:23:03 +0100
|
||||
Subject: [PATCH] [report] collect broken symlinks
|
||||
|
||||
Information about broken symlink destination is useful information
|
||||
that sos report should collect. Currently it stops doing so as
|
||||
stat-ing the symlink to determine filesize fails.
|
||||
|
||||
Closes: #2333
|
||||
Resolves: #2338
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/__init__.py | 16 ++++++++++------
|
||||
1 file changed, 10 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/sos/report/plugins/__init__.py b/sos/report/plugins/__init__.py
|
||||
index 510e116e..1527caea 100644
|
||||
--- a/sos/report/plugins/__init__.py
|
||||
+++ b/sos/report/plugins/__init__.py
|
||||
@@ -1449,11 +1449,16 @@ class Plugin(object):
|
||||
continue
|
||||
|
||||
try:
|
||||
- filestat = os.stat(_file)
|
||||
+ file_size = os.stat(_file)[stat.ST_SIZE]
|
||||
except OSError:
|
||||
- self._log_info("failed to stat '%s'" % _file)
|
||||
- continue
|
||||
- current_size += filestat[stat.ST_SIZE]
|
||||
+ # if _file is a broken symlink, we should collect it,
|
||||
+ # otherwise skip it
|
||||
+ if os.path.islink(_file):
|
||||
+ file_size = 0
|
||||
+ else:
|
||||
+ self._log_info("failed to stat '%s', skipping" % _file)
|
||||
+ continue
|
||||
+ current_size += file_size
|
||||
|
||||
if sizelimit and current_size > sizelimit:
|
||||
limit_reached = True
|
||||
@@ -1467,8 +1472,7 @@ class Plugin(object):
|
||||
strfile = (
|
||||
file_name.replace(os.path.sep, ".") + ".tailed"
|
||||
)
|
||||
- add_size = (sizelimit + filestat[stat.ST_SIZE]
|
||||
- - current_size)
|
||||
+ add_size = sizelimit + file_size - current_size
|
||||
self.add_string_as_file(tail(_file, add_size), strfile)
|
||||
rel_path = os.path.relpath('/', os.path.dirname(_file))
|
||||
link_path = os.path.join(rel_path, 'sos_strings',
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,32 +0,0 @@
|
||||
From debb61f8137c53bdaf8d4473756c68c5e4d5cca2 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 5 Jan 2021 13:35:34 +0100
|
||||
Subject: [PATCH] [collector] declare sysroot for each component
|
||||
|
||||
Commit 7f72a36 requires self.sysroot to exist for each component,
|
||||
but it is not set for sos-collector. Let pre-fill self.sysroot
|
||||
every time.
|
||||
|
||||
Resolves: #2358
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/component.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sos/component.py b/sos/component.py
|
||||
index bd008761..223c3812 100644
|
||||
--- a/sos/component.py
|
||||
+++ b/sos/component.py
|
||||
@@ -108,6 +108,7 @@ class SoSComponent():
|
||||
try:
|
||||
import sos.policies
|
||||
self.policy = sos.policies.load(sysroot=self.opts.sysroot)
|
||||
+ self.sysroot = self.policy.host_sysroot()
|
||||
except KeyboardInterrupt:
|
||||
self._exit(0)
|
||||
self._is_root = self.policy.is_root()
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,33 +0,0 @@
|
||||
From cd56e096afc8ef06c215c45cbf025bda60f0169c Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 5 Jan 2021 15:06:24 +0100
|
||||
Subject: [PATCH] [component] honour plugopts from config file
|
||||
|
||||
Currently, config file plugopts are ignored as we overwrite it
|
||||
in apply_options_from_cmdline by empty list default value from
|
||||
cmdline.
|
||||
|
||||
Resolves: #2359
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/component.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/component.py b/sos/component.py
|
||||
index 7774c05a..bd008761 100644
|
||||
--- a/sos/component.py
|
||||
+++ b/sos/component.py
|
||||
@@ -192,7 +192,7 @@ class SoSComponent():
|
||||
for opt, val in codict.items():
|
||||
if opt not in cmdopts.arg_defaults.keys():
|
||||
continue
|
||||
- if val is not None and val != opts.arg_defaults[opt]:
|
||||
+ if val not in [None, [], ''] and val != opts.arg_defaults[opt]:
|
||||
setattr(opts, opt, val)
|
||||
|
||||
return opts
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 03642cf2e5619f11c762b63c61c9c69fb2b00cdf Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 8 Dec 2020 19:33:07 +0100
|
||||
Subject: [PATCH] [plugins] Dont stop collecting by empty specfile when
|
||||
sizelimit=0
|
||||
|
||||
When sizelimit=0, collecting an empty file would set limit_reached
|
||||
wrongly and stop collecting further files. Let fix this corner case.
|
||||
|
||||
Resolves: #2330
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/__init__.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/report/plugins/__init__.py b/sos/report/plugins/__init__.py
|
||||
index deb46c93..510e116e 100644
|
||||
--- a/sos/report/plugins/__init__.py
|
||||
+++ b/sos/report/plugins/__init__.py
|
||||
@@ -1483,7 +1483,7 @@ class Plugin(object):
|
||||
self._add_copy_paths([_file])
|
||||
# in the corner case we just reached the sizelimit, we
|
||||
# should collect the whole file and stop
|
||||
- limit_reached = (current_size == sizelimit)
|
||||
+ limit_reached = (sizelimit and current_size == sizelimit)
|
||||
if self.manifest:
|
||||
self.manifest.files.append({
|
||||
'specification': copyspec,
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 486a7918934041306bae8ccc11da2196e8f4c9bb Mon Sep 17 00:00:00 2001
|
||||
From: Jake Hunsaker <jhunsake@redhat.com>
|
||||
Date: Wed, 13 Jan 2021 10:57:58 -0500
|
||||
Subject: [PATCH] [Policy] Handle additional FTP authentication issues
|
||||
|
||||
It was found that some implementations will return a 530 rather than a
|
||||
503 as the more specific error for incorrect passwords. Handle this
|
||||
error code explicitly, and then also add a catch-all for any other
|
||||
ftplib errors that may get raised.
|
||||
|
||||
Resolves: #2368
|
||||
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/policies/__init__.py | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sos/policies/__init__.py b/sos/policies/__init__.py
|
||||
index c5fb4801e..a4f550c96 100644
|
||||
--- a/sos/policies/__init__.py
|
||||
+++ b/sos/policies/__init__.py
|
||||
@@ -477,9 +477,13 @@ def upload_ftp(self, url=None, directory=None, user=None, password=None):
|
||||
errno = str(err).split()[0]
|
||||
if errno == '503':
|
||||
raise Exception("could not login as '%s'" % user)
|
||||
+ if errno == '530':
|
||||
+ raise Exception("invalid password for user '%s'" % user)
|
||||
if errno == '550':
|
||||
raise Exception("could not set upload directory to %s"
|
||||
% directory)
|
||||
+ raise Exception("error trying to establish session: %s"
|
||||
+ % str(err))
|
||||
|
||||
try:
|
||||
with open(self.upload_archive, 'rb') as _arcfile:
|
@ -1,60 +0,0 @@
|
||||
From aca8bd83117e177f2beac6b9434d36d446a7de64 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Mon, 18 Jan 2021 22:45:43 +0100
|
||||
Subject: [PATCH] [networking] Collect 'ethtool -e <device>' conditionally only
|
||||
|
||||
EEPROM dump collection might hang on specific types of devices, or
|
||||
negatively impact the system otherwise. As a safe option, sos report
|
||||
should collect the command when explicitly asked via a plugopt only.
|
||||
|
||||
Resolves: #2376
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/networking.py | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/sos/report/plugins/networking.py b/sos/report/plugins/networking.py
|
||||
index e4236ed9..5bdb697e 100644
|
||||
--- a/sos/report/plugins/networking.py
|
||||
+++ b/sos/report/plugins/networking.py
|
||||
@@ -27,7 +27,8 @@ class Networking(Plugin):
|
||||
("namespaces", "Number of namespaces to collect, 0 for unlimited. " +
|
||||
"Incompatible with the namespace_pattern plugin option", "slow", 0),
|
||||
("ethtool_namespaces", "Define if ethtool commands should be " +
|
||||
- "collected for namespaces", "slow", True)
|
||||
+ "collected for namespaces", "slow", True),
|
||||
+ ("eepromdump", "collect 'ethtool -e' for all devices", "slow", False)
|
||||
]
|
||||
|
||||
# switch to enable netstat "wide" (non-truncated) output mode
|
||||
@@ -141,16 +142,15 @@ class Networking(Plugin):
|
||||
"ethtool --show-eee " + eth
|
||||
], tags=eth)
|
||||
|
||||
- # skip EEPROM collection for 'bnx2x' NICs as this command
|
||||
- # can pause the NIC and is not production safe.
|
||||
- bnx_output = {
|
||||
- "cmd": "ethtool -i %s" % eth,
|
||||
- "output": "bnx2x"
|
||||
- }
|
||||
- bnx_pred = SoSPredicate(self,
|
||||
- cmd_outputs=bnx_output,
|
||||
- required={'cmd_outputs': 'none'})
|
||||
- self.add_cmd_output("ethtool -e %s" % eth, pred=bnx_pred)
|
||||
+ # skip EEPROM collection by default, as it might hang or
|
||||
+ # negatively impact the system on some device types
|
||||
+ if self.get_option("eepromdump"):
|
||||
+ cmd = "ethtool -e %s" % eth
|
||||
+ self._log_warn("WARNING (about to collect '%s'): collecting "
|
||||
+ "an eeprom dump is known to cause certain NIC "
|
||||
+ "drivers (e.g. bnx2x/tg3) to interrupt device "
|
||||
+ "operation" % cmd)
|
||||
+ self.add_cmd_output(cmd)
|
||||
|
||||
# Collect information about bridges (some data already collected via
|
||||
# "ip .." commands)
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,95 +0,0 @@
|
||||
From 51e8213fd3a83e717fe7ef35d48d5c541b077c5f Mon Sep 17 00:00:00 2001
|
||||
From: Jose Castillo <jcastillo@redhat.com>
|
||||
Date: Mon, 8 Feb 2021 16:25:34 +0100
|
||||
Subject: [PATCH] [gluster] Add glusterd public keys and status files
|
||||
|
||||
This patch helps capture some missing files in the
|
||||
gluster plugin, i.e.:
|
||||
|
||||
Files inside /var/lib/glusterd/glusterfind, like
|
||||
*.status files, that store the required timestamps,
|
||||
*.pem.pub files, that store ssh public keys.
|
||||
We also need to omit the glusterfind_*_secret.pem,
|
||||
which contains the openssh private key.
|
||||
|
||||
Files inside /var/lib/glusterd/.keys, that contains
|
||||
*.pem.pub, the ssh public key.
|
||||
|
||||
Closes: RHBZ#1925035, RHBZ#1925419
|
||||
|
||||
Resolves: #2411
|
||||
|
||||
Signed-off-by: Jose Castillo <jcastillo@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/gluster.py | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/report/plugins/gluster.py b/sos/report/plugins/gluster.py
|
||||
index 7b6a9298..e1a89df2 100644
|
||||
--- a/sos/report/plugins/gluster.py
|
||||
+++ b/sos/report/plugins/gluster.py
|
||||
@@ -55,6 +55,9 @@ class Gluster(Plugin, RedHatPlugin):
|
||||
|
||||
def setup(self):
|
||||
self.add_forbidden_path("/var/lib/glusterd/geo-replication/secret.pem")
|
||||
+ self.add_forbidden_path(
|
||||
+ "/var/lib/glusterd/glusterfind/glusterfind_*_secret.pem"
|
||||
+ )
|
||||
|
||||
self.add_cmd_output([
|
||||
"gluster peer status",
|
||||
@@ -72,7 +75,10 @@ class Gluster(Plugin, RedHatPlugin):
|
||||
"/etc/glusterfs",
|
||||
"/var/lib/glusterd/",
|
||||
# collect nfs-ganesha related configuration
|
||||
- "/run/gluster/shared_storage/nfs-ganesha/"
|
||||
+ "/run/gluster/shared_storage/nfs-ganesha/",
|
||||
+ # collect status files and public ssh keys
|
||||
+ "/var/lib/glusterd/.keys/",
|
||||
+ "/var/lib/glusterd/glusterfind/"
|
||||
] + glob.glob('/run/gluster/*tier-dht/*'))
|
||||
|
||||
if not self.get_option("all_logs"):
|
||||
--
|
||||
2.26.2
|
||||
|
||||
From 4fb834ec862228afb276ccbd45aa86c66044ea66 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Mon, 15 Mar 2021 09:09:51 +0100
|
||||
Subject: [PATCH] [gluster] collect public keys from the right dir
|
||||
|
||||
Collection of glusterfind dir is achieved by /var/lib/gluster
|
||||
so it doesn't be collected explicitly.
|
||||
|
||||
/var/lib/glusterd/glusterfind/.keys/ subdir is required to be
|
||||
explicitly collected, as add_copy_spec uses glob.glob() that skips
|
||||
hidden files.
|
||||
|
||||
Resolves: #2451
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||
---
|
||||
sos/report/plugins/gluster.py | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sos/report/plugins/gluster.py b/sos/report/plugins/gluster.py
|
||||
index e1a89df2..952cab63 100644
|
||||
--- a/sos/report/plugins/gluster.py
|
||||
+++ b/sos/report/plugins/gluster.py
|
||||
@@ -76,9 +76,8 @@ class Gluster(Plugin, RedHatPlugin):
|
||||
"/var/lib/glusterd/",
|
||||
# collect nfs-ganesha related configuration
|
||||
"/run/gluster/shared_storage/nfs-ganesha/",
|
||||
- # collect status files and public ssh keys
|
||||
- "/var/lib/glusterd/.keys/",
|
||||
- "/var/lib/glusterd/glusterfind/"
|
||||
+ # collect public ssh keys (a_s_c skips implicit hidden files)
|
||||
+ "/var/lib/glusterd/glusterfind/.keys/",
|
||||
] + glob.glob('/run/gluster/*tier-dht/*'))
|
||||
|
||||
if not self.get_option("all_logs"):
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,101 +0,0 @@
|
||||
From 271c35b9be95cf4957150fd702823fbb46ddaa6b Mon Sep 17 00:00:00 2001
|
||||
From: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Date: Tue, 19 Jan 2021 19:54:26 +0530
|
||||
Subject: [PATCH 1/2] [powerpc]:Add support to collect HNV infomation
|
||||
|
||||
This patch is to update powerpc plugin to collect
|
||||
Hyper-V Network Virtualization information.
|
||||
|
||||
/var/log/hcnmgr -- hybridnetwork debugging messages. Must collect
|
||||
/var/ct/IBM.DRM.stderr -- DynamicRM log messages
|
||||
/var/ct/IW/log/mc/IBM.DRM/trace* -- IBM DRM traces
|
||||
lsdevinfo
|
||||
ournalctl
|
||||
|
||||
Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
---
|
||||
sos/report/plugins/kernel.py | 1 -
|
||||
sos/report/plugins/powerpc.py | 9 +++++++--
|
||||
2 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sos/report/plugins/kernel.py b/sos/report/plugins/kernel.py
|
||||
index 27e0e4d00..febe2ad0a 100644
|
||||
--- a/sos/report/plugins/kernel.py
|
||||
+++ b/sos/report/plugins/kernel.py
|
||||
@@ -106,7 +106,6 @@ def setup(self):
|
||||
"/proc/misc",
|
||||
"/var/log/dmesg",
|
||||
"/sys/fs/pstore",
|
||||
- "/var/log/hcnmgr",
|
||||
clocksource_path + "available_clocksource",
|
||||
clocksource_path + "current_clocksource"
|
||||
])
|
||||
diff --git a/sos/report/plugins/powerpc.py b/sos/report/plugins/powerpc.py
|
||||
index d29eb0a63..c63551cad 100644
|
||||
--- a/sos/report/plugins/powerpc.py
|
||||
+++ b/sos/report/plugins/powerpc.py
|
||||
@@ -63,7 +63,10 @@ def setup(self):
|
||||
"/proc/ppc64/systemcfg",
|
||||
"/var/log/platform",
|
||||
"/var/log/drmgr",
|
||||
- "/var/log/drmgr.0"
|
||||
+ "/var/log/drmgr.0",
|
||||
+ "/var/log/hcnmgr",
|
||||
+ "/var/ct/IBM.DRM.stderr",
|
||||
+ "/var/ct/IW/log/mc/IBM.DRM/trace*"
|
||||
])
|
||||
ctsnap_path = self.get_cmd_output_path(name="ctsnap", make=True)
|
||||
self.add_cmd_output([
|
||||
@@ -74,8 +77,10 @@ def setup(self):
|
||||
"serv_config -l",
|
||||
"bootlist -m both -r",
|
||||
"lparstat -i",
|
||||
- "ctsnap -xrunrpttr -d %s" % (ctsnap_path)
|
||||
+ "ctsnap -xrunrpttr -d %s" % (ctsnap_path),
|
||||
+ "lsdevinfo"
|
||||
])
|
||||
+ self.add_service_status("hcn-init")
|
||||
|
||||
if isPowerNV:
|
||||
self.add_copy_spec([
|
||||
|
||||
From 692eba8eeec6254bdb356a6bfdc8cfa1f77bfbbc Mon Sep 17 00:00:00 2001
|
||||
From: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
Date: Tue, 19 Jan 2021 19:58:53 +0530
|
||||
Subject: [PATCH 2/2] [scsi]:Add support to collect SCSI debugging logs
|
||||
|
||||
This patch updates scsi plugin to collect
|
||||
additional logs for SCSI devices
|
||||
|
||||
Signed-off-by: Mamatha Inamdar <mamatha4@linux.vnet.ibm.com>
|
||||
---
|
||||
sos/report/plugins/scsi.py | 16 ++++++++++++----
|
||||
1 file changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/sos/report/plugins/scsi.py b/sos/report/plugins/scsi.py
|
||||
index 50cfca0f7..28d1396c6 100644
|
||||
--- a/sos/report/plugins/scsi.py
|
||||
+++ b/sos/report/plugins/scsi.py
|
||||
@@ -29,10 +29,18 @@ def setup(self):
|
||||
])
|
||||
|
||||
self.add_cmd_output("lsscsi -i", suggest_filename="lsscsi")
|
||||
- self.add_cmd_output("sg_map -x")
|
||||
- self.add_cmd_output("lspath")
|
||||
- self.add_cmd_output("lsmap -all")
|
||||
- self.add_cmd_output("lsnports")
|
||||
+
|
||||
+ self.add_cmd_output([
|
||||
+ "sg_map -x",
|
||||
+ "lspath",
|
||||
+ "lsmap -all",
|
||||
+ "lsnports",
|
||||
+ "lsscsi -H",
|
||||
+ "lsscsi -g",
|
||||
+ "lsscsi -d",
|
||||
+ "lsscsi -s",
|
||||
+ "lsscsi -L"
|
||||
+ ])
|
||||
|
||||
scsi_hosts = glob("/sys/class/scsi_host/*")
|
||||
self.add_blockdev_cmd("udevadm info -a %(dev)s", devices=scsi_hosts,
|
25
SOURCES/sos-python36-walrus-operator.patch
Normal file
25
SOURCES/sos-python36-walrus-operator.patch
Normal file
@ -0,0 +1,25 @@
|
||||
--- a/sos/report/plugins/coredump.py
|
||||
+++ b/sos/report/plugins/coredump.py
|
||||
@@ -72,8 +72,8 @@
|
||||
cdump = line.split()
|
||||
pid = cdump[4]
|
||||
exe = cdump[-2]
|
||||
- if regex := self.get_option("executable"):
|
||||
- if not re.search(regex, exe, re.I):
|
||||
+ if self.get_option("executable"):
|
||||
+ if not re.search(self.get_option("executable"), exe, re.I):
|
||||
continue
|
||||
cinfo = self.collect_cmd_output(f"coredumpctl info {pid}")
|
||||
if cinfo['status'] != 0:
|
||||
--- a/sos/collector/sosnode.py
|
||||
+++ b/sos/collector/sosnode.py
|
||||
@@ -372,7 +372,8 @@
|
||||
for line in result.splitlines():
|
||||
if not is_list:
|
||||
try:
|
||||
- if ls := line.split():
|
||||
+ ls = line.split()
|
||||
+ if ls:
|
||||
res.append(ls[0])
|
||||
except Exception as err:
|
||||
self.log_debug(f"Error parsing sos help: {err}")
|
1205
SPECS/sos.spec
1205
SPECS/sos.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user