diff --git a/.gitignore b/.gitignore index 7b4b434..0f2b270 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/sos-4.0.tar.gz +SOURCES/sos-4.1.tar.gz SOURCES/sos-audit-0.3.tgz diff --git a/.sos.metadata b/.sos.metadata index bd28d9a..950a640 100644 --- a/.sos.metadata +++ b/.sos.metadata @@ -1,2 +1,2 @@ -f4850f7d3a4cd3e52f58bbc408e8d5e17df04741 SOURCES/sos-4.0.tar.gz +7d4d03af232e2357e3359ad564a59f4c3654eac0 SOURCES/sos-4.1.tar.gz 9d478b9f0085da9178af103078bbf2fd77b0175a SOURCES/sos-audit-0.3.tgz diff --git a/SOURCES/sos-bz1827801-streamlined-sanitize_item.patch b/SOURCES/sos-bz1827801-streamlined-sanitize_item.patch deleted file mode 100644 index ffae766..0000000 --- a/SOURCES/sos-bz1827801-streamlined-sanitize_item.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 086c1c5ca52b0ed8b810ad5a293a574ba990e635 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1848095-collect-rhev-pki.patch b/SOURCES/sos-bz1848095-collect-rhev-pki.patch deleted file mode 100644 index 959f58c..0000000 --- a/SOURCES/sos-bz1848095-collect-rhev-pki.patch +++ /dev/null @@ -1,42 +0,0 @@ -From bbd28011f8bb710d64283bd6d3ec68c0fb5430b4 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1874295-osp-ironic-inspector-configs.patch b/SOURCES/sos-bz1874295-osp-ironic-inspector-configs.patch deleted file mode 100644 index b9be279..0000000 --- a/SOURCES/sos-bz1874295-osp-ironic-inspector-configs.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 4e46e0c8db3e2ecea7279ae7a781ae2e22a81b69 Mon Sep 17 00:00:00 2001 -From: David Vallee Delisle -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1880372-power-logs.patch b/SOURCES/sos-bz1880372-power-logs.patch deleted file mode 100644 index 9c556ae..0000000 --- a/SOURCES/sos-bz1880372-power-logs.patch +++ /dev/null @@ -1,228 +0,0 @@ -From b8da3e3ed94075fa5ccf74a61ce64812b904d0c5 Mon Sep 17 00:00:00 2001 -From: Mamatha Inamdar -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 -Reported-by: Borislav Stoymirski -Signed-off-by: Jake Hunsaker ---- - 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 -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 -Reported-by: Borislav Stoymirski -Signed-off-by: Jake Hunsaker ---- - 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 -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 -Reported-by: Luciano Chavez -Signed-off-by: Jake Hunsaker ---- - 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 -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 -Reported-by: Borislav Stoymirski -Signed-off-by: Jake Hunsaker ---- - 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 -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 -Reported-by: Borislav Stoymirski -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1881118-crio-conf-d.patch b/SOURCES/sos-bz1881118-crio-conf-d.patch deleted file mode 100644 index d39b353..0000000 --- a/SOURCES/sos-bz1881118-crio-conf-d.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 019f7c49768f27ef15f39d80db8a03b2aaa453ee Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1882368-upload-functionality-issues.patch b/SOURCES/sos-bz1882368-upload-functionality-issues.patch deleted file mode 100644 index 470dce7..0000000 --- a/SOURCES/sos-bz1882368-upload-functionality-issues.patch +++ /dev/null @@ -1,211 +0,0 @@ -From a3b493a8accc338158faa53b9e221067323b75f5 Mon Sep 17 00:00:00 2001 -From: Jake Hunsaker -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 ---- - 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 -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 ---- - 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 -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 ---- - 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 -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1886782-exclude-panfs.patch b/SOURCES/sos-bz1886782-exclude-panfs.patch deleted file mode 100644 index 357ca2c..0000000 --- a/SOURCES/sos-bz1886782-exclude-panfs.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 6a4e3fb718a5c3249425dc4ae167b977abdb7f2e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Renaud=20M=C3=A9trich?= -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1887390-kdump-logfiles.patch b/SOURCES/sos-bz1887390-kdump-logfiles.patch deleted file mode 100644 index ee95a56..0000000 --- a/SOURCES/sos-bz1887390-kdump-logfiles.patch +++ /dev/null @@ -1,49 +0,0 @@ -From be347440d5f8d650791ff044970c5e65ee8ec2a3 Mon Sep 17 00:00:00 2001 -From: Jose Castillo -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1887402-kexec-logs.patch b/SOURCES/sos-bz1887402-kexec-logs.patch deleted file mode 100644 index 670659f..0000000 --- a/SOURCES/sos-bz1887402-kexec-logs.patch +++ /dev/null @@ -1,40 +0,0 @@ -From a0cb4efb473a553fa034aaa8980635897adf1894 Mon Sep 17 00:00:00 2001 -From: Jose Castillo -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 -Signed-off-by: Pavel Moravec ---- - 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): diff --git a/SOURCES/sos-bz1888012-stratis-new-feature-output.patch b/SOURCES/sos-bz1888012-stratis-new-feature-output.patch deleted file mode 100644 index f41110c..0000000 --- a/SOURCES/sos-bz1888012-stratis-new-feature-output.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 22b19739d94f0a40fb8dfd3236e63991a0c027b9 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1891562-tmp-dir-relative-path.patch b/SOURCES/sos-bz1891562-tmp-dir-relative-path.patch deleted file mode 100644 index d887f79..0000000 --- a/SOURCES/sos-bz1891562-tmp-dir-relative-path.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c07bdbc94269603d2b910ccafa289512478160aa Mon Sep 17 00:00:00 2001 -From: Jake Hunsaker -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 ---- - 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' - diff --git a/SOURCES/sos-bz1895316-collector--cluster-type.patch b/SOURCES/sos-bz1895316-collector--cluster-type.patch deleted file mode 100644 index 03d8646..0000000 --- a/SOURCES/sos-bz1895316-collector--cluster-type.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1c6efee74557f433dfc5b67fb8ab76b0d9e6f988 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1904045-preset-ignores-verbosity.patch b/SOURCES/sos-bz1904045-preset-ignores-verbosity.patch deleted file mode 100644 index 608403d..0000000 --- a/SOURCES/sos-bz1904045-preset-ignores-verbosity.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 169898b47b26734a8cdcb748157f7314f7f8821b Mon Sep 17 00:00:00 2001 -From: Erik Bernoth -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1905657-empty-file-stops-zero-sizelimit.patch b/SOURCES/sos-bz1905657-empty-file-stops-zero-sizelimit.patch deleted file mode 100644 index 13c05ed..0000000 --- a/SOURCES/sos-bz1905657-empty-file-stops-zero-sizelimit.patch +++ /dev/null @@ -1,56 +0,0 @@ -From c2ddb50fbbb045daffa6fe5cf489fe47aeef4590 Mon Sep 17 00:00:00 2001 -From: Jake Hunsaker -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 ---- - 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 - diff --git a/SOURCES/sos-bz1906598-collect-broken-symlinks.patch b/SOURCES/sos-bz1906598-collect-broken-symlinks.patch deleted file mode 100644 index 2b324b7..0000000 --- a/SOURCES/sos-bz1906598-collect-broken-symlinks.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 15e54577289a29e72c636f8987859e91c3a55a7c Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1912821-sos-collector-declare-sysroot.patch b/SOURCES/sos-bz1912821-sos-collector-declare-sysroot.patch deleted file mode 100644 index 569d680..0000000 --- a/SOURCES/sos-bz1912821-sos-collector-declare-sysroot.patch +++ /dev/null @@ -1,32 +0,0 @@ -From debb61f8137c53bdaf8d4473756c68c5e4d5cca2 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1912889-plugopts-ignored-in-configfile.patch b/SOURCES/sos-bz1912889-plugopts-ignored-in-configfile.patch deleted file mode 100644 index 7a26fac..0000000 --- a/SOURCES/sos-bz1912889-plugopts-ignored-in-configfile.patch +++ /dev/null @@ -1,33 +0,0 @@ -From cd56e096afc8ef06c215c45cbf025bda60f0169c Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1912910-empty-file-stops-collecting.patch b/SOURCES/sos-bz1912910-empty-file-stops-collecting.patch deleted file mode 100644 index 82ba360..0000000 --- a/SOURCES/sos-bz1912910-empty-file-stops-collecting.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 03642cf2e5619f11c762b63c61c9c69fb2b00cdf Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1916729-ftp-upload-no-passwd.patch b/SOURCES/sos-bz1916729-ftp-upload-no-passwd.patch deleted file mode 100644 index 6b2b2fc..0000000 --- a/SOURCES/sos-bz1916729-ftp-upload-no-passwd.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 486a7918934041306bae8ccc11da2196e8f4c9bb Mon Sep 17 00:00:00 2001 -From: Jake Hunsaker -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 ---- - 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: diff --git a/SOURCES/sos-bz1917196-networking-ethtool-e-conditionally.patch b/SOURCES/sos-bz1917196-networking-ethtool-e-conditionally.patch deleted file mode 100644 index c64ffa7..0000000 --- a/SOURCES/sos-bz1917196-networking-ethtool-e-conditionally.patch +++ /dev/null @@ -1,60 +0,0 @@ -From aca8bd83117e177f2beac6b9434d36d446a7de64 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -Date: Mon, 18 Jan 2021 22:45:43 +0100 -Subject: [PATCH] [networking] Collect 'ethtool -e ' 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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1925419-gluster-pubkeys-statusfile.patch b/SOURCES/sos-bz1925419-gluster-pubkeys-statusfile.patch deleted file mode 100644 index 4a5a448..0000000 --- a/SOURCES/sos-bz1925419-gluster-pubkeys-statusfile.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 51e8213fd3a83e717fe7ef35d48d5c541b077c5f Mon Sep 17 00:00:00 2001 -From: Jose Castillo -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 -Signed-off-by: Jake Hunsaker ---- - 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 -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 -Signed-off-by: Jake Hunsaker ---- - 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 - diff --git a/SOURCES/sos-bz1928650-powerpc-nhv-scsi-logs.patch b/SOURCES/sos-bz1928650-powerpc-nhv-scsi-logs.patch deleted file mode 100644 index 46bc02c..0000000 --- a/SOURCES/sos-bz1928650-powerpc-nhv-scsi-logs.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 271c35b9be95cf4957150fd702823fbb46ddaa6b Mon Sep 17 00:00:00 2001 -From: Mamatha Inamdar -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 ---- - 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 -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 ---- - 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, diff --git a/SPECS/sos.spec b/SPECS/sos.spec index 831a5e3..f00fec3 100644 --- a/SPECS/sos.spec +++ b/SPECS/sos.spec @@ -4,8 +4,8 @@ Summary: A set of tools to gather troubleshooting information from a system Name: sos -Version: 4.0 -Release: 11%{?dist} +Version: 4.1 +Release: 1%{?dist} Group: Applications/System Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz Source1: sos-audit-%{auditversion}.tgz @@ -20,28 +20,6 @@ Requires: xz Conflicts: vdsm < 4.40 Obsoletes: sos-collector Recommends: python3-pexpect -Patch1: sos-bz1827801-streamlined-sanitize_item.patch -Patch2: sos-bz1874295-osp-ironic-inspector-configs.patch -Patch3: sos-bz1880372-power-logs.patch -Patch4: sos-bz1881118-crio-conf-d.patch -Patch5: sos-bz1882368-upload-functionality-issues.patch -Patch6: sos-bz1886782-exclude-panfs.patch -Patch7: sos-bz1887390-kdump-logfiles.patch -Patch8: sos-bz1888012-stratis-new-feature-output.patch -Patch9: sos-bz1891562-tmp-dir-relative-path.patch -Patch10: sos-bz1848095-collect-rhev-pki.patch -Patch11: sos-bz1895316-collector--cluster-type.patch -Patch12: sos-bz1904045-preset-ignores-verbosity.patch -Patch13: sos-bz1905657-empty-file-stops-zero-sizelimit.patch -Patch14: sos-bz1906598-collect-broken-symlinks.patch -Patch15: sos-bz1912889-plugopts-ignored-in-configfile.patch -Patch16: sos-bz1912821-sos-collector-declare-sysroot.patch -Patch17: sos-bz1912910-empty-file-stops-collecting.patch -Patch18: sos-bz1917196-networking-ethtool-e-conditionally.patch -Patch19: sos-bz1887402-kexec-logs.patch -Patch20: sos-bz1916729-ftp-upload-no-passwd.patch -Patch21: sos-bz1925419-gluster-pubkeys-statusfile.patch -Patch22: sos-bz1928650-powerpc-nhv-scsi-logs.patch %description @@ -53,28 +31,6 @@ support technicians and developers. %prep %setup -qn %{name}-%{version} %setup -T -D -a1 -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 %build %py3_build @@ -109,6 +65,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/sos/cleaner %license LICENSE %config(noreplace) %{_sysconfdir}/sos/sos.conf %config(noreplace) %{_sysconfdir}/sos/cleaner +%config /usr/config/sos.conf %package audit Summary: Audit use of some commands for support purposes @@ -119,7 +76,7 @@ Group: Application/System Sos-audit provides configuration files for the Linux Auditing System to track the use of some commands capable of changing the configuration -of the system. Currently storage and filesystem commands are audited. +of the system. Currently storage and filesystem commands are audited. %post audit %{_sbindir}/sos-audit.sh @@ -137,17 +94,9 @@ of the system. Currently storage and filesystem commands are audited. %ghost /etc/audit/rules.d/40-sos-storage.rules %changelog -* Wed Mar 17 2021 Pavel Moravec = 4.0-11 -- [gluster] collect public keys from the right dir - Resolves: bz1925419 - -* Thu Mar 11 2021 Pavel Moravec = 4.0-10 -- [powerpc] Collect logs for power specific components (HNV and SCSI) - Resolves: bz1928650 - -* Fri Mar 05 2021 Pavel Moravec = 4.0-9 -- [gluster] Add glusterd public keys and status files - Resolves: bz1925419 +* Mon Apr 26 2021 Pavel Moravec = 4.1-1 +- Rebase on upstream 4.1 + Resolves: bz1928679 * Tue Feb 16 2021 Pavel Moravec = 4.0-8 - Automatically create directory for sos-cleaner default_mapping @@ -210,751 +159,3 @@ of the system. Currently storage and filesystem commands are audited. * Tue Oct 13 2020 Pavel Moravec = 4.0-1 - Rebase on upstream 4.0 Resolves: bz1827801 - -* Wed Aug 19 2020 Pavel Moravec = 3.9.1-6 -- [networking] remove 'ethtool -e' option for bnx2x NICs - Resolves: bz1869724 - -* Fri Jul 24 2020 Pavel Moravec = 3.9.1-5 -- [logs] collect also non-persistent journal logs - Resolves: bz1850926 -- [block] Fix typo in LUKS detection - Resolves: bz1850554 -- [powerpc] Fix enablement triggers - Resolves: bz1851923 -- [pci] Update gating for lspci commands - Resolves: bz1853700 -- [containers_common] collect user-related commands outputs - Resolves: bz1776549 -- [gluster] remove only dump files + generated state files - Resolves: bz1857590 -- [kubernetes] ignore blank+empty lines in "kubectl get nodes" - Resolves: bz1859888 - -* Tue Jun 23 2020 Pavel Moravec = 3.9.1-4 -- [gluster] fix gluster volume splitlines iteration - Resolves: bz1843562 -- [nfs] merge nfsserver plugin into nfs one - Resolves: bz1844853 -- [pacemaker] Fix scrubbing when password contains an equa - Resolves: bz1845386 -- [powerpc] Add support to collect component logs - Resolves: bz1843754 - -* Wed May 27 2020 Pavel Moravec = 3.9.1-2 -- Rebase on upstream 3.9 - Resolves: bz1826656 -- [redhat] fix RH containers without sysroot Attempting to run - Resolves: bz1825283 -- [containers_common] Add plugin for common containers configs - Resolves: bz1823488 -- [rabbitmq] Call containerised rabbitmqctl report on - Resolves: bz1819662 -- [insights] collect insights-client dump - Resolves: bz1814867 -- [nvmetcli] Add new plugin for NVMe Target CLI - Resolves: bz1785546 -- [containers_common] collect rootless containers info - Resolves: bz1776549 -- [networking] collect iptables when proper kernel modules - Resolves: bz1633006 -- [navicli] replace interactive prompt by plugin option - Resolves: bz1457191 -- [xdp] Add XDP plugin - Resolves: bz1838123 - -* Thu May 21 2020 Pavel Moravec = 3.8-4 -- [container_log] fix unscoped 'logdir' variable - Resolves: bz1834421 - -* Wed May 06 2020 Pavel Moravec = 3.8-3 -- [containers_common] Add plugin for common containers configs - Resolves: bz1823488 - -* Fri Jan 10 2020 Pavel Moravec = 3.8-2 -- [plugins] improve heuristic for applying --since - Resolves: bz1789049 -- [Predicate] Override __bool__ to allow py3 evaluation - Resolves: bz1789018 -- [ceph] Add 'ceph insights' command output - Resolves: bz1783034 -- [dnf] Collect dnf module list - Resolves: bz1781819 -- [kernel,networking] collect bpftool net list for each - Resolves: bz1768956 -- [libreswan] New plugin for "libreswan" IPsec - Resolves: bz1741330 -- [kernel] collect "bpftool net list" - Resolves: bz1721779 -- [grub2] call grub2-config with --no-grubenv-update - Resolves: bz1709682 - -* Wed Dec 11 2019 Pavel Moravec = 3.8-1 -- Rebase on upstream 3.8 - Resolves: bz1779387 - -* Mon Nov 04 2019 Pavel Moravec = 3.7-7 -- [Plugin, kernel] interim sysroot fixes - Resolves: bz1766915 - -* Wed Oct 30 2019 Pavel Moravec = 3.7-6 -- [ovirt_hosted_engine] Add gluster deployment and cleanup log - Resolves: bz1744086 -- [vdsm]: Fix executing shell commands - Resolves: bz1744110 -- [ovn_*] Add support to containerized setups - Resolves: bz1744553 -- [ipa] collect ipa-healthcheck logs, kdcproxy configs, httpd cert - Resolves: bz1688764 - -* Wed Oct 02 2019 Pavel Moravec = 3.7-5 -- [kernel] Don't collect trace file by default - Resolves: bz1738391 - -* Thu Sep 12 2019 Pavel Moravec = 3.7-4 -- [openvswitch] catch all openvswitch2.* packages - Resolves: bz1745017 - -* Tue Jul 30 2019 Pavel Moravec = 3.7-3 -- [openstack] Extract Placement plugin from Nova - Resolves: bz1717882 -- [utilities] Fix high CPU usage and slow command collection - Resolves: bz1733352 -- [peripety] collect proper config file - Resolves: bz1665981 -- [sosreport,plugins] Stop plugin execution after timeout hit - Resolves: bz1733469 -- [nvme] collect config file everytime - Resolves: bz1665929 - -* Tue Jul 09 2019 Pavel Moravec = 3.7-2 -- [sar] collect whole sar log dir - Resolves: bz1714243 -- [archive] convert absolute symlink targets to relative - Resolves: bz1702806 -- [archive] Handle checking container sysroot in _make_leading_paths - Resolves: bz1728214 -- [frr] FRR plugin - Resolves: bz1709906 -- [policies] redhat policy to use hostname instead of rhn id - Resolves: bz1718087 -- Updates to vdsm plugin - Resolves: bz1700780 - -* Wed Jun 12 2019 Pavel Moravec = 3.7-1 -- Rebase on upstream 3.7 - Resolves: bz1684400 -- [buildah] parse container list properly even for scratch ones - Resolves: bz1687954 -- [PATCH] [maas,mysql,npm,pacemaker,postgresql] fix plugopts data types - Resolves: bz1695583 -- [plugins] add vdsm plugin - Resolves: bz1700780 -- [openstack_instack] add ansible.log - Resolves: bz1702806 -- [pcp] collect pmlogger without a sizelimit - Resolves: bz1719884 -- [foreman,satellite] increase plugin default timeouts - Resolves: bz1719885 -- [sosreport] [sosreport] initialize disabled plugins properly - Resolves: bz1719886 -- [katello] support both locations of qpid SSL certs - Resolves: bz1719887 - -* Thu May 02 2019 Pavel Moravec = 3.6-11 -- [composer] Collect sources info for all sources - Resolves: bz1678418 - -* Mon Jan 21 2019 Pavel Moravec = 3.6-10 -- [grub2] Enable plugin by grub2-common package also - Resolves: bz1666214 - -* Mon Jan 14 2019 Pavel Moravec = 3.6-9 -- [block] proper parsing of luks partition on self device - Resolves: bz1638855 -- [networking] Collect NUMA Node of each NIC - Resolves: bz1645085 -- [composer] add missing commas in list in add_copy_spec - Resolves: bz1644062 -- [opendaylight] Update directory for openDaylight logs - Resolves: bz1642377 - -* Fri Dec 13 2018 Pavel Moravec = 3.6-8 -- [plugins] fix exception when collecting empty strings - Resolves: bz1632607 -- [crypto] collect more configs and commands - Resolves: bz1638492 -- [networking] Replace "brctl: by "bridge" commands - Resolves: bz1644021 -- [firewalld] collect nftables ruleset - Resolves: bz1644022 -- [composer] New plugin for lorax-composer - Resolves: bz1644062 -- [Plugin] clean up Plugin.get_option() - Resolves: bz1655984 -- [ovirt_node] New plugin for oVirt Node - Resolves: bz1658937 -- [podman] Add support for gathering information on podman - Resolves: bz1658938 -- [postgresql] Do not limit dump size - Resolves: bz1658939 - -* Fri Oct 12 2018 Pavel Moravec = 3.6-7 -- [plugin,archive] fix remaining add_link issues - Resolves: bz1627543 -- [kernel] dont collect some tracing instance files - Resolves: bz1638637 -- [openstack_*] relax enabling of OSP RedHat plugins - Resolves: bz1638638 -- [powerpc] Add support to collect DLPAR and LPM related logs - Resolves: bz1637127 - -* Mon Sep 10 2018 Pavel Moravec = 3.6-6 -- [archive] fix leading path creation - Resolves: bz1627543 -- [atomic] Define valid preset for RHEL Atomic - Resolves: bz1627546 -- [utilities] wait till AsyncReader p.poll() returns None - Resolves: bz1627544 - -* Thu Aug 23 2018 Pavel Moravec = 3.6-5 -- [rhv-log-collector-analyzer] Add new plugin for RHV - Resolves: bz1620049 -- [kubernetes|etcd] Support OpenShift 3.10 deployments - Resolves: bz1620048 -- [krb5|gssproxy] add new plugin, collect more krb5 files - Resolves: bz1607630 -- [block] collect luksDump for all encrypted devices - Resolves: bz1599739 -- [archive] Dont copystat /sys and /proc paths - Resolves: bz1619234 - -* Fri Aug 10 2018 Pavel Moravec = 3.6-4 -- [apparmor,ceph] fix typo in add_forbidden_path - Resolves: bz1614955 -- [policies] sanitize report label - Resolves: bz1614956 -- [policies,process] make lsof execution optional, dont call on RHOSP - Resolves: bz1614957 -- [sosreport] Add mechanism to encrypt final archive - Resolves: bz1614952 -- [archive] fix stat typo - Resolves: bz1614953 -- [rhui] Fix detection of CDS for RHUI3 - Resolves: bz1614954 -- [archive] fix add_string()/do_*_sub() regression - Resolves: bz1599701 - -* Fri Aug 10 2018 Bryn M. Reeves = 3.6-3 -- Clean up spec file and sources -- Integrate sos-audit subpackage - Resolves: bz1601084 - -* Tue Jul 10 2018 Pavel Moravec = 3.6-2 -- Rebase on upstream 3.6 - Resolves: bz1549522 - -* Fri Feb 09 2018 Fedora Release Engineering - 3.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Nov 14 2017 Sandro Bonazzola - 3.5-1 -- Rebase on upstream 3.5 -- Resolves: BZ#1513030 - -* Thu Jul 27 2017 Fedora Release Engineering - 3.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Wed Mar 29 2017 Sandro Bonazzola - 3.4-1 -- Rebase on upstream 3.4 -- Resolves: BZ#1436969 -- Resolves: BZ#1427445 - -* Thu Feb 23 2017 Sandro Bonazzola - 3.3-1 -- Rebase on upstream 3.3 -- Resolves: BZ#1411314 - -* Sat Feb 11 2017 Fedora Release Engineering - 3.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Dec 19 2016 Miro Hrončok - 3.2-5 -- Rebuild for Python 3.6 - -* Tue Jul 19 2016 Fedora Release Engineering - 3.2-4 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Fri Feb 05 2016 Fedora Release Engineering - 3.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Dec 16 2015 Bryn M. Reeves = 3.2-2 -- [sosreport] ensure private temporary directory is removed -- [global] sync rawhide package with upstream -- [ceph] collect /var/lib/ceph and /var/run/ceph -- [sosreport] prepare report in a private subdirectory (CVE-2015-7529) -- [docker] collect journald logs for docker unit -- [sosreport] fix command-line report defaults -- [openstack_neutron] obfuscate server_auth in restproxy.ini -- [memory] collect swapon --show output in bytes -- [sosreport] fix command-line report defaults (proper patch ordering) -- [sapnw] call self methods properly -- [openvswitch] capture the logs, db and OVS bridges details -- [logs] fix reference to missing 'rsyslog_conf' variable -- [sapnw] Add check if saphostctrl is not present, dont use Set -- [Plugin] fix handling of symlinks in non-sysroot environments -- [openstack] Ensure openstack passwords and secrets are obfuscated -- [plugin] pass stderr through _collect_cmd_output -- [kubernetes,plugin] Support running sos inside a container -- [openstack] New Openstack Trove (DBaaS) plugin -- [services] Add more diagnostics to applications -- [openstack_neutron] Obscure passwords and secrets -- [ceph] add calamari and ragos logs and configs -- [iprconfig] enable plugin for ppc64* architectures -- [general] verify --profile contains valid plugins only -- [kernel,mpt,memory] additional kernel-related diagnostics -- [cluster] enable crm_report password scrubbing -- [sosreport] fix command-line report defaults -- [virsh] add new plugin, add listing of qemu -- [sap*,vhostmd] new plugins for SAP -- [cluster] crm_report fails to run because dir already exists -- [foreman] Skip collection of generic resources -- [apache] Added collection of conf.modules.d dir for httpd 2.4 -- [pcp] collect /etc/pcp.conf -- [puppet] adding new plugin for puppet -- [block] Don't use parted human readable output -- [general] Better handling --name and --ticket-number in -- [networking] additional ip, firewall and traffic shaping -- [infiniband] add opensm and infiniband-diags support -- [plugins/rabbitmq] Added cluster_status command output -- [networking] re-add 'ip addr' with a root symlink -- [kimchi] add new plugin -- [iprconfig] add plugin for IBM Power RAID adapters -- [ovirt] Collect engine tunables and domain information. -- [activemq] Honour all_logs and get config on RHEL -- [cluster] Add luci to packages for standalone luci servers -- [hpasm] hpasmcli commands hang under timeout -- [mysql] Collect log file -- [chrony] add chrony plugin -- [openstack_sahara] redact secrets from sahara configuration -- [openstack_sahara] add new openstack_sahara plugin -- [openstack_neutron] neutron configuration and logs files not captured -- [ovirt] remove ovirt-engine setup answer file password leak -- [networking] network plugin fails if NetworkManager is disabled -- [cluster] crm_report fails to run because dir already exists -- [mysql] improve handling of dbuser, dbpass and MYSQL_PWD -- [mysql] test for boolean values in dbuser and dbpass -- [plugin] limit path names to PC_NAME_MAX -- [squid] collect files from /var/log/squid -- [sosreport] log plugin exceptions to a file -- [ctdb] fix collection of /etc/sysconfig/ctdb -- [sosreport] fix silent exception handling -- [sosreport] do not make logging calls after OSError -- [sosreport] catch OSError exceptions in SoSReport.execute() -- [anaconda] make useradd password regex tolerant of whitespace -- [mysql] fix handling of mysql.dbpass option -- [navicli] catch exceptions if stdin is unreadable -- [docs] update man page for new options -- [sosreport] make all utf-8 handling user errors=ignore -- [kpatch] do not attempt to collect data if kpatch is not installed -- [archive] drop support for Zip archives -- [sosreport] fix archive permissions regression -- [tomcat] add support for tomcat7 and default log size limits -- [mysql] obtain database password from the environment -- [corosync] add postprocessing for corosync-objctl output -- [ovirt_hosted_engine] fix exception when force-enabled -- [yum] call rhsm-debug with --no-subscriptions -- [powerpc] allow PowerPC plugin to run on ppc64le -- [package] add Obsoletes for sos-plugins-openstack -- [pam] add pam_tally2 and faillock support -- [postgresql] obtain db password from the environment -- [pcp] add Performance Co-Pilot plugin -- [nfsserver] collect /etc/exports.d -- [sosreport] handle --compression-type correctly -- [anaconda] redact passwords in kickstart configurations -- [haproxy] add new plugin -- [keepalived] add new plugin -- [lvm2] set locking_type=0 when calling lvm commands -- [tuned] add new plugin -- [cgroups] collect /etc/sysconfig/cgred -- [plugins] ensure doc text is always displayed for plugins -- [sosreport] fix the distribution version API call -- [docker] add new plugin -- [openstack_*] include broken-out openstack plugins -- [mysql] support MariaDB -- [openstack] do not collect /var/lib/nova -- [grub2] collect grub.cfg on UEFI systems -- [sosreport] handle out-of-space errors gracefully -- [firewalld] new plugin -- [networking] collect NetworkManager status -- [kpatch] new plugin -- [global] update to upstream 3.2 release -- [foreman] add new plugin - -* Tue Nov 10 2015 Fedora Release Engineering - 3.2-0.4.a -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Fri Jul 17 2015 Miro Hrončok - 3.2-0.3.a -- Use Python 3 (#1014595) -- Use setup.py instead of make -- Remove some deprecated statements - -* Fri Jun 19 2015 Fedora Release Engineering - 3.2-0.2.a -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Tue Jun 17 2014 Bryn M. Reeves = 3.2-0.1.a -- Make source URL handling compliant with packaging guidelines -- Update to new upstream pre-release sos-3.2-alpha1 - -* Sun Jun 08 2014 Fedora Release Engineering - 3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue Apr 01 2014 Bryn M. Reeves = 3.1-1 -- Update to new upstream release sos-3.1 -- Add collection of grub configuration for UEFI systems -- Raise a TypeError if add_copy_specs() is called with a string -- Add tests for Plugin.add_copy_spec()/add_copy_specs() -- Update Plugin tests to treat copy_paths as a set -- Use a set for Plugin.copy_paths -- Remove references to 'sub' parameter from plugin tests -- Remove 'sub' parameter from Plugin.add_copy_spec*() -- Drop RedHatPlugin from procenv -- Update plugin_tests.py to match new method names -- Remove obsolete checksum reference from utilities_tests.py -- Refactor Plugin.collect() pathway -- Fix x86 arch detection in processor plugin -- Pythonify Plugin._path_in_pathlist() -- Clean up package checks in processor plugin -- Replace self.policy().pkg_by_name() us in Logs plugin -- Convert infiniband to package list -- Dead code removal: PluginException -- Dead code removal: sos.plugins.common_prefix() -- Add vim tags to all python source files -- Dead code removal: utilities.checksum() -- Dead code removal: DirTree -- Dead code removal: sos_relative_path() -- Remove --profile support -- Fix plugin_test exception on six.PY2 -- Call rhsm-debug with the --sos switch -- Do not collect isos in cobbler plugin -- Match plugins against policies -- Update policy_tests.py for validate_plugin change -- Rename validatePlugin to validate_plugin -- Fix broken binary detection in satellite plugin -- Clean up get_cmd_path/make_cmd_path/make_cmd_dirs mess -- Add tuned plugin -- Update systemd support -- Fix remaining use of obsolete 'get_cmd_dir()' in plugins -- Add PowerNV specific debug data -- powerpc: Move VPD related tool under common code -- Remove the rhevm plugin. -- Replace package check with file check in anacron -- Scrub ldap_default_authtok password in sssd plugin -- Eliminate hard-coded /var/log/sa paths in sar plugin -- Remove useless check_enabled() from sar plugin -- Improve error message when cluster.crm_from is invalid -- Fix command output substitution exception -- Add distupgrade plugin -- Fix gluster volume name extraction -- Ensure unused fds are closed when calling subprocesses via Popen -- Pass --no-archive to rhsm-debug script -- postgresql: allow use TCP socket -- postgresql: added license and copyright -- postgresql: add logs about errors / warnings -- postgresql: minor fixes -- Include geo-replication status in gluster plugin -- Make get_cmd_output_now() behaviour match 2.2 -- Add rhsm-debug collection to yum plugin -- Always treat rhevm vdsmlogs option as string -- Fix verbose file logging -- Fix get_option() use in cluster plugin -- Fix cluster postproc regression -- Ensure superclass postproc method is called in ldap plugin -- Remove obsolete diagnostics code from ldap plugin -- Fix cluster module crm_report support - -* Thu Mar 20 2014 Bryn M. Reeves = 3.0-23 -- Call rhsm-debug with the --sos switch - -* Mon Mar 03 2014 Bryn M. Reeves -- Fix package check in anacron plugin - -* Wed Feb 12 2014 Bryn M. Reeves -- Remove obsolete rhel_version() usage from yum plugin - -* Tue Feb 11 2014 Bryn M. Reeves -- Prevent unhandled exception during command output substitution - -* Mon Feb 10 2014 Bryn M. Reeves -- Fix generation of volume names in gluster plugin -- Add distupgrade plugin - -* Tue Feb 04 2014 Bryn M. Reeves -- Prevent file descriptor leaks when using Popen -- Disable zip archive creation when running rhsm-debug -- Include volume geo-replication status in gluster plugin - -* Mon Feb 03 2014 Bryn M. Reeves -- Fix get_option use in cluster plugin -- Fix debug logging to file when given '-v' -- Always treat rhevm plugin's vdsmlogs option as a string -- Run the rhsm-debug script from yum plugin - -* Fri Jan 31 2014 Bryn M. Reeves -- Add new plugin to collect OpenHPI configuration -- Fix cluster plugin crm_report support -- Fix file postprocessing in ldap plugin -- Remove collection of anaconda-ks.cfg from general plugin - -* Fri Jan 24 2014 Bryn M. Reeves -- Remove debug statements from logs plugin -- Make ethernet interface detection more robust -- Fix specifying multiple plugin options on the command line -- Make log and message levels match previous versions -- Log a warning message when external commands time out -- Remove --upload command line option -- Update sos UI text to match upstream - -* Fri Dec 27 2013 Daniel Mach -- Mass rebuild 2013-12-27 - -* Thu Nov 14 2013 Bryn M. Reeves -- Fix regressions introduced with --build option - -* Tue Nov 12 2013 Bryn M. Reeves -- Fix typo in yum plug-in add_forbidden_paths -- Add krb5 plug-in and drop collection of krb5.keytab - -* Fri Nov 8 2013 Bryn M. Reeves -- Add nfs client plug-in -- Fix traceback when sar module force-enabled - -* Thu Nov 7 2013 Bryn M. Reeves -- Restore --build command line option -- Collect saved vmcore-dmesg.txt files -- Normalize temporary directory paths - -* Tue Nov 5 2013 Bryn M. Reeves -- Add domainname output to NIS plug-in -- Collect /var/log/squid in squid plug-in -- Collect mountstats and mountinfo in filesys plug-in -- Add PowerPC plug-in from upstream - -* Thu Oct 31 2013 Bryn M. Reeves -- Remove version checks in gluster plug-in -- Check for usable temporary directory -- Fix --alloptions command line option -- Fix configuration fail regression - -* Wed Oct 30 2013 Bryn M. Reeves -- Include /etc/yaboot.conf in boot plug-in -- Fix collection of brctl output in networking plug-in -- Verify limited set of RPM packages by default -- Do not strip newlines from command output -- Limit default sar data collection - -* Thu Oct 3 2013 Bryn M. Reeves -- Do not attempt to read RPC pseudo files in networking plug-in -- Restrict wbinfo collection to the current domain -- Add obfuscation of luci secrets to cluster plug-in -- Add XFS plug-in -- Fix policy class handling of --tmp-dir -- Do not set batch mode if stdin is not a TTY -- Attempt to continue when reading bad input in interactive mode - -* Wed Aug 14 2013 Bryn M. Reeves -- Add crm_report support to cluster plug-in -- Fix rhel_version() usage in cluster and s390 plug-ins -- Strip trailing newline from command output - -* Mon Jun 10 2013 Bryn M. Reeves -- Silence 'could not run' messages at default verbosity -- New upstream release - -* Thu May 23 2013 Bryn M. Reeves -- Always invoke tar with '-f-' option - -* Mon Jan 21 2013 Bryn M. Reeves -- Fix interactive mode regression when --ticket unspecified - -* Fri Jan 18 2013 Bryn M. Reeves -- Fix propagation of --ticket parameter in interactive mode - -* Thu Jan 17 2013 Bryn M. Reeves -- Revert OpenStack patch - -* Wed Jan 9 2013 Bryn M. Reeves -- Report --name and --ticket values as defaults -- Fix device-mapper command execution logging -- Fix data collection and rename PostreSQL module to pgsql - -* Fri Oct 19 2012 Bryn M. Reeves -- Add support for content delivery hosts to RHUI module - -* Thu Oct 18 2012 Bryn M. Reeves -- Add Red Hat Update Infrastructure module -- Collect /proc/iomem in hardware module -- Collect subscription-manager output in general module -- Collect rhsm log files in general module -- Fix exception in gluster module on non-gluster systems -- Fix exception in psql module when dbname is not given - -* Wed Oct 17 2012 Bryn M. Reeves -- Collect /proc/pagetypeinfo in memory module -- Strip trailing newline from command output -- Add sanlock module -- Do not collect archived accounting files in psacct module -- Call spacewalk-debug from rhn module to collect satellite data - -* Mon Oct 15 2012 Bryn M. Reeves -- Avoid calling volume status when collecting gluster statedumps -- Use a default report name if --name is empty -- Quote tilde characters passed to shell in RPM module -- Collect KDC and named configuration in ipa module -- Sanitize hostname characters before using as report path -- Collect /etc/multipath in device-mapper module -- New plug-in for PostgreSQL -- Add OpenStack module -- Avoid deprecated sysctls in /proc/sys/net -- Fix error logging when calling external programs -- Use ip instead of ifconfig to generate network interface lists - -* Wed May 23 2012 Bryn M. Reeves -- Collect the swift configuration directory in gluster module -- Update IPA module and related plug-ins - -* Fri May 18 2012 Bryn M. Reeves -- Collect mcelog files in the hardware module - -* Wed May 02 2012 Bryn M. Reeves -- Add nfs statedump collection to gluster module - -* Tue May 01 2012 Bryn M. Reeves -- Use wildcard to match possible libvirt log paths - -* Mon Apr 23 2012 Bryn M. Reeves -- Add forbidden paths for new location of gluster private keys - -* Fri Mar 9 2012 Bryn M. Reeves -- Fix katello and aeolus command string syntax -- Remove stray hunk from gluster module patch - -* Thu Mar 8 2012 Bryn M. Reeves -- Correct aeolus debug invocation in CloudForms module -- Update gluster module for gluster-3.3 -- Add additional command output to gluster module -- Add support for collecting gluster configuration and logs - -* Wed Mar 7 2012 Bryn M. Reeves -- Collect additional diagnostic information for realtime systems -- Improve sanitization of RHN user and case number in report name -- Fix verbose output and debug logging -- Add basic support for CloudForms data collection -- Add support for Subscription Asset Manager diagnostics - -* Tue Mar 6 2012 Bryn M. Reeves -- Collect fence_virt.conf in cluster module -- Fix collection of /proc/net directory tree -- Gather output of cpufreq-info when present -- Fix brctl showstp output when bridges contain multiple interfaces -- Add /etc/modprobe.d to kernel module -- Ensure relative symlink targets are correctly handled when copying -- Fix satellite and proxy package detection in rhn plugin -- Collect stderr output from external commands -- Collect /proc/cgroups in the cgroups module - Resolve: bz784874 -- Collect /proc/irq in the kernel module -- Fix installed-rpms formatting for long package names -- Add symbolic links for truncated log files -- Collect non-standard syslog and rsyslog log files -- Use correct paths for tomcat6 in RHN module -- Obscure root password if present in anacond-ks.cfg -- Do not accept embedded forward slashes in RHN usernames -- Add new sunrpc module to collect rpcinfo for gluster systems - -* Tue Nov 1 2011 Bryn M. Reeves -- Do not collect subscription manager keys in general plugin - -* Fri Sep 23 2011 Bryn M. Reeves -- Fix execution of RHN hardware.py from hardware plugin -- Fix hardware plugin to support new lsusb path - -* Fri Sep 09 2011 Bryn M. Reeves -- Fix brctl collection when a bridge contains no interfaces -- Fix up2dateclient path in hardware plugin - -* Mon Aug 15 2011 Bryn M. Reeves -- Collect brctl show and showstp output -- Collect nslcd.conf in ldap plugin - -* Sun Aug 14 2011 Bryn M. Reeves -- Truncate files that exceed specified size limit -- Add support for collecting Red Hat Subscrition Manager configuration -- Collect /etc/init on systems using upstart -- Don't strip whitespace from output of external programs -- Collect ipv6 neighbour table in network module -- Collect basic cgroups configuration data - -* Sat Aug 13 2011 Bryn M. Reeves -- Fix collection of data from LVM2 reporting tools in devicemapper plugin -- Add /proc/vmmemctl collection to vmware plugin - -* Fri Aug 12 2011 Bryn M. Reeves -- Collect yum repository list by default -- Add basic Infiniband plugin -- Add plugin for scsi-target-utils iSCSI target -- Fix autofs plugin LC_ALL usage -- Fix collection of lsusb and add collection of -t and -v outputs -- Extend data collection by qpidd plugin -- Add ethtool pause, coalesce and ring (-a, -c, -g) options to network plugin - -* Thu Apr 07 2011 Bryn M. Reeves -- Use sha256 for report digest when operating in FIPS mode - -* Tue Apr 05 2011 Bryn M. Reeves -- Fix parted and dumpe2fs output on s390 - -* Fri Feb 25 2011 Bryn M. Reeves -- Fix collection of chkconfig output in startup.py -- Collect /etc/dhcp in dhcp.py plugin -- Collect dmsetup ls --tree output in devicemapper.py -- Collect lsblk output in filesys.py - -* Thu Feb 24 2011 Bryn M. Reeves -- Fix collection of logs and config files in sssd.py -- Add support for collecting entitlement certificates in rhn.py - -* Thu Feb 03 2011 Bryn M. Reeves -- Fix cluster plugin dlm lockdump for el6 -- Add sssd plugin to collect configuration and logs -- Collect /etc/anacrontab in system plugin -- Correct handling of redhat-release for el6 - -* Thu Jul 29 2010 Adam Stokes - -* Thu Jun 10 2010 Adam Stokes - -* Wed Apr 28 2010 Adam Stokes - -* Mon Apr 12 2010 Adam Stokes - -* Tue Mar 30 2010 Adam Stokes -- fix setup.py to autocompile translations and man pages -- rebase 1.9 - -* Fri Mar 19 2010 Adam Stokes -- updated translations - -* Thu Mar 04 2010 Adam Stokes -- version bump 1.9 -- replaced compression utility with xz -- strip threading/multiprocessing -- simplified progress indicator -- pylint update -- put global vars in class container -- unittests -- simple profiling -- make use of xgettext as pygettext is deprecated - -* Mon Jan 18 2010 Adam Stokes -- more sanitizing options for log files -- rhbz fixes from RHEL version merged into trunk -- progressbar update -