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 <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
-
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 <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
-
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 <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
-
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 <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
-
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 <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
-
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 <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
-
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?= <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
-
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 <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
-
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 <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):
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 <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
-
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 <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'
- 
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 <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
-
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 <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
-
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 <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
-
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 <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
-
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 <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
-
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 <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
-
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 <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
-
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 <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:
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 <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
-
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 <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
-
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 <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,
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 <pmoravec@redhat.com> = 4.0-11
-- [gluster] collect public keys from the right dir
-  Resolves: bz1925419
-
-* Thu Mar 11 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-10
-- [powerpc] Collect logs for power specific components (HNV and SCSI)
-  Resolves: bz1928650
-
-* Fri Mar 05 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-9
-- [gluster] Add glusterd public keys and status files
-  Resolves: bz1925419
+* Mon Apr 26 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-1
+- Rebase on upstream 4.1
+  Resolves: bz1928679
 
 * Tue Feb 16 2021 Pavel Moravec <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 4.0-1
 - Rebase on upstream 4.0
   Resolves: bz1827801
-
-* Wed Aug 19 2020 Pavel Moravec <pmoravec@redhat.com> = 3.9.1-6
-- [networking] remove 'ethtool -e' option for bnx2x NICs
-  Resolves: bz1869724
-
-* Fri Jul 24 2020 Pavel Moravec <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 3.8-4
-- [container_log] fix unscoped 'logdir' variable
-  Resolves: bz1834421
-
-* Wed May 06 2020 Pavel Moravec <pmoravec@redhat.com> = 3.8-3
-- [containers_common] Add plugin for common containers configs
-  Resolves: bz1823488
-
-* Fri Jan 10 2020 Pavel Moravec <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 3.8-1
-- Rebase on upstream 3.8
-  Resolves: bz1779387
-
-* Mon Nov 04 2019 Pavel Moravec <pmoravec@redhat.com> = 3.7-7
-- [Plugin, kernel] interim sysroot fixes
-  Resolves: bz1766915
-
-* Wed Oct 30 2019 Pavel Moravec <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 3.7-5
-- [kernel] Don't collect trace file by default
-  Resolves: bz1738391
-
-* Thu Sep 12 2019 Pavel Moravec <pmoravec@redhat.com> = 3.7-4
-- [openvswitch] catch all openvswitch2.* packages
-  Resolves: bz1745017
-
-* Tue Jul 30 2019 Pavel Moravec <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 3.6-11
-- [composer] Collect sources info for all sources
-  Resolves: bz1678418
-
-* Mon Jan 21 2019 Pavel Moravec <pmoravec@redhat.com> = 3.6-10
-- [grub2] Enable plugin by grub2-common package also
-  Resolves: bz1666214
-
-* Mon Jan 14 2019 Pavel Moravec <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 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 <bmr@redhat.com> = 3.6-3
-- Clean up spec file and sources
-- Integrate sos-audit subpackage
-  Resolves: bz1601084
-
-* Tue Jul 10 2018 Pavel Moravec <pmoravec@redhat.com> = 3.6-2
-- Rebase on upstream 3.6
-  Resolves: bz1549522
-
-* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.5-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Tue Nov 14 2017 Sandro Bonazzola <sbonazzo@fedoraproject.org> - 3.5-1
-- Rebase on upstream 3.5
-- Resolves: BZ#1513030
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Wed Mar 29 2017 Sandro Bonazzola <sbonazzo@fedoraproject.org> - 3.4-1
-- Rebase on upstream 3.4
-- Resolves: BZ#1436969
-- Resolves: BZ#1427445
-
-* Thu Feb 23 2017 Sandro Bonazzola <sbonazzo@fedoraproject.org> - 3.3-1
-- Rebase on upstream 3.3
-- Resolves: BZ#1411314
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.2-5
-- Rebuild for Python 3.6
-
-* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-4
-- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
-
-* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Wed Dec 16 2015 Bryn M. Reeves <bmr@redhat.com> = 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 <rel-eng@lists.fedoraproject.org> - 3.2-0.4.a
-- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
-
-* Fri Jul 17 2015 Miro Hrončok <mhroncok@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 3.2-0.2.a
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Tue Jun 17 2014 Bryn M. Reeves <bmr@redhat.com> = 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 <rel-eng@lists.fedoraproject.org> - 3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Tue Apr 01 2014 Bryn M. Reeves <bmr@redhat.com> = 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 <bmr@redhat.com> = 3.0-23
-- Call rhsm-debug with the --sos switch
-
-* Mon Mar 03 2014 Bryn M. Reeves <bmr@redhat.com>
-- Fix package check in anacron plugin
-
-* Wed Feb 12 2014 Bryn M. Reeves <bmr@redhat.com>
-- Remove obsolete rhel_version() usage from yum plugin
-
-* Tue Feb 11 2014 Bryn M. Reeves <bmr@redhat.com>
-- Prevent unhandled exception during command output substitution
-
-* Mon Feb 10 2014 Bryn M. Reeves <bmr@redhat.com>
-- Fix generation of volume names in gluster plugin
-- Add distupgrade plugin
-
-* Tue Feb 04 2014 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <dmach@redhat.com>
-- Mass rebuild 2013-12-27
-
-* Thu Nov 14 2013 Bryn M. Reeves <bmr@redhat.com>
-- Fix regressions introduced with --build option
-
-* Tue Nov 12 2013 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- Add nfs client plug-in
-- Fix traceback when sar module force-enabled
-
-* Thu Nov  7 2013 Bryn M. Reeves <bmr@redhat.com>
-- Restore --build command line option
-- Collect saved vmcore-dmesg.txt files
-- Normalize temporary directory paths
-
-* Tue Nov  5 2013 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- Silence 'could not run' messages at default verbosity
-- New upstream release
-
-* Thu May 23 2013 Bryn M. Reeves <bmr@redhat.com>
-- Always invoke tar with '-f-' option
-
-* Mon Jan 21 2013 Bryn M. Reeves <bmr@redhat.com>
-- Fix interactive mode regression when --ticket unspecified
-
-* Fri Jan 18 2013 Bryn M. Reeves <bmr@redhat.com>
-- Fix propagation of --ticket parameter in interactive mode
-
-* Thu Jan 17 2013 Bryn M. Reeves <bmr@redhat.com>
-- Revert OpenStack patch
-
-* Wed Jan  9 2013 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- Add support for content delivery hosts to RHUI module
-
-* Thu Oct 18 2012 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- Collect the swift configuration directory in gluster module
-- Update IPA module and related plug-ins
-
-* Fri May 18 2012 Bryn M. Reeves <bmr@redhat.com>
-- Collect mcelog files in the hardware module
-
-* Wed May 02 2012 Bryn M. Reeves <bmr@redhat.com>
-- Add nfs statedump collection to gluster module
-
-* Tue May 01 2012 Bryn M. Reeves <bmr@redhat.com>
-- Use wildcard to match possible libvirt log paths
-
-* Mon Apr 23 2012 Bryn M. Reeves <bmr@redhat.com>
-- Add forbidden paths for new location of gluster private keys
-
-* Fri Mar  9 2012 Bryn M. Reeves <bmr@redhat.com>
-- Fix katello and aeolus command string syntax
-- Remove stray hunk from gluster module patch
-
-* Thu Mar  8 2012 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- Do not collect subscription manager keys in general plugin
-
-* Fri Sep 23 2011 Bryn M. Reeves <bmr@redhat.com>
-- Fix execution of RHN hardware.py from hardware plugin
-- Fix hardware plugin to support new lsusb path
-
-* Fri Sep 09 2011 Bryn M. Reeves <bmr@redhat.com>
-- Fix brctl collection when a bridge contains no interfaces
-- Fix up2dateclient path in hardware plugin
-
-* Mon Aug 15 2011 Bryn M. Reeves <bmr@redhat.com>
-- Collect brctl show and showstp output
-- Collect nslcd.conf in ldap plugin
-
-* Sun Aug 14 2011 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- Use sha256 for report digest when operating in FIPS mode
-
-* Tue Apr 05 2011 Bryn M. Reeves <bmr@redhat.com>
-- Fix parted and dumpe2fs output on s390
-
-* Fri Feb 25 2011 Bryn M. Reeves <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <bmr@redhat.com>
-- 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 <ajs at redhat dot com>
-
-* Thu Jun 10 2010 Adam Stokes <ajs at redhat dot com>
-
-* Wed Apr 28 2010 Adam Stokes <ajs at redhat dot com>
-
-* Mon Apr 12 2010 Adam Stokes <ajs at redhat dot com>
-
-* Tue Mar 30 2010 Adam Stokes <ajs at redhat dot com>
-- fix setup.py to autocompile translations and man pages
-- rebase 1.9
-
-* Fri Mar 19 2010 Adam Stokes <ajs at redhat dot com>
-- updated translations
-
-* Thu Mar 04 2010 Adam Stokes <ajs at redhat dot com>
-- 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 <ajs at redhat dot com>
-- more sanitizing options for log files
-- rhbz fixes from RHEL version merged into trunk
-- progressbar update
-