From bf10fb7bc1bb40e3ad0751f7b83a61b02f9ee331 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jul 28 2021 04:23:38 +0000 Subject: import sos-4.1-4.el8 --- diff --git a/SOURCES/sos-bz1923938-sos-log-effective-options.patch b/SOURCES/sos-bz1923938-sos-log-effective-options.patch new file mode 100644 index 0000000..434a107 --- /dev/null +++ b/SOURCES/sos-bz1923938-sos-log-effective-options.patch @@ -0,0 +1,114 @@ +From 00d12ad3cf24dcc6c73e9bcf63db1d3f17e58bb1 Mon Sep 17 00:00:00 2001 +From: Jake Hunsaker +Date: Thu, 1 Jul 2021 10:50:54 -0400 +Subject: [PATCH] [sosnode] Properly format skip-commands and skip-files on + nodes + +Fixes an issue where options provided for `skip-commands` and +`skip-files` were not properly formatted, thus causing an exception +during the finalization of the node's sos command. + +Signed-off-by: Jake Hunsaker +--- + sos/collector/sosnode.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/sos/collector/sosnode.py b/sos/collector/sosnode.py +index 6597d236..426edcba 100644 +--- a/sos/collector/sosnode.py ++++ b/sos/collector/sosnode.py +@@ -734,11 +734,12 @@ class SosNode(): + if self.check_sos_version('4.1'): + if self.opts.skip_commands: + sos_opts.append( +- '--skip-commands=%s' % (quote(self.opts.skip_commands)) ++ '--skip-commands=%s' % ( ++ quote(','.join(self.opts.skip_commands))) + ) + if self.opts.skip_files: + sos_opts.append( +- '--skip-files=%s' % (quote(self.opts.skip_files)) ++ '--skip-files=%s' % (quote(','.join(self.opts.skip_files))) + ) + + if self.check_sos_version('4.2'): +-- +2.31.1 + +From de7edce3f92ed50abcb28dd0dbcbeb104dc7c679 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec +Date: Fri, 2 Jul 2021 09:52:11 +0200 +Subject: [PATCH] [collector] fix a typo in --plugin-option + +Sos report uses --plugin-option or --plugopts. + +Relevant: #2606 + +Signed-off-by: Pavel Moravec +--- + sos/collector/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sos/collector/__init__.py b/sos/collector/__init__.py +index 6d96d692..f072287e 100644 +--- a/sos/collector/__init__.py ++++ b/sos/collector/__init__.py +@@ -272,7 +272,7 @@ class SoSCollector(SoSComponent): + help="chroot executed commands to SYSROOT") + sos_grp.add_argument('-e', '--enable-plugins', action="extend", + help='Enable specific plugins for sosreport') +- sos_grp.add_argument('-k', '--plugin-options', action="extend", ++ sos_grp.add_argument('-k', '--plugin-option', action="extend", + help='Plugin option as plugname.option=value') + sos_grp.add_argument('--log-size', default=0, type=int, + help='Limit the size of individual logs (in MiB)') +-- +2.31.1 + +From 24a79ae8df8f29276f6139c68d4ba9b05114f951 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec +Date: Fri, 2 Jul 2021 09:53:47 +0200 +Subject: [PATCH] [options] allow variant option names in config file + +While cmdline allows --plugin-option as well as --plugopts, +it stores the value under `plugopts` key. Therefore parsing +config file ignores --plugin-option. + +Similarly for --name/--label and --profile/--profiles. + +When processing config file, we must unify those potentially duplicit +keys. + +Resolves: #2606 + +Signed-off-by: Pavel Moravec +--- + sos/options.py | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/sos/options.py b/sos/options.py +index 1eda55d6..a014a022 100644 +--- a/sos/options.py ++++ b/sos/options.py +@@ -186,9 +186,18 @@ class SoSOptions(): + if 'verbose' in odict.keys(): + odict['verbosity'] = int(odict.pop('verbose')) + # convert options names ++ # unify some of them if multiple variants of the ++ # cmdoption exist ++ rename_opts = { ++ 'name': 'label', ++ 'plugin_option': 'plugopts', ++ 'profile': 'profiles' ++ } + for key in list(odict): + if '-' in key: + odict[key.replace('-', '_')] = odict.pop(key) ++ if key in rename_opts: ++ odict[rename_opts[key]] = odict.pop(key) + # set the values according to the config file + for key, val in odict.items(): + if isinstance(val, str): +-- +2.31.1 + diff --git a/SOURCES/sos-bz1959598-conversions-and-upgrades.patch b/SOURCES/sos-bz1959598-conversions-and-upgrades.patch new file mode 100644 index 0000000..a39f839 --- /dev/null +++ b/SOURCES/sos-bz1959598-conversions-and-upgrades.patch @@ -0,0 +1,50 @@ +From ee5d9d017b0a1bfeaebee9c21c17e89ef1f909a8 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec +Date: Mon, 26 Jul 2021 13:30:09 +0200 +Subject: [PATCH] [MigrationResults] collect info about conversions and + upgrades + +A new tiny plugin independent on leapp and convert2rhel is proposed. + +It should collect /etc/migration-results with info about RHEL +conversions and upgrades, whenever the file is present. + +Resolves: #2627 +Relevant to: rhbz#1959598 + +Signed-off-by: Pavel Moravec +--- + sos/report/plugins/migration_results.py | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + create mode 100644 sos/report/plugins/migration_results.py + +diff --git a/sos/report/plugins/migration_results.py b/sos/report/plugins/migration_results.py +new file mode 100644 +index 00000000..b67480ba +--- /dev/null ++++ b/sos/report/plugins/migration_results.py +@@ -0,0 +1,21 @@ ++# 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. ++ ++from sos.report.plugins import Plugin, RedHatPlugin ++ ++ ++class MigrationResults(Plugin, RedHatPlugin): ++ ++ short_desc = 'Information about conversions and upgrades' ++ ++ plugin_name = 'migration_results' ++ profiles = ('system',) ++ ++ files = ('/etc/migration-results',) ++ ++# vim: et ts=4 sw=4 +-- +2.31.1 + diff --git a/SOURCES/sos-bz1985986-potential-issues-static-analyse.patch b/SOURCES/sos-bz1985986-potential-issues-static-analyse.patch new file mode 100644 index 0000000..0c359e6 --- /dev/null +++ b/SOURCES/sos-bz1985986-potential-issues-static-analyse.patch @@ -0,0 +1,65 @@ +From 6d5cbe90e17534d53d7fe42dff4d8ca734acf594 Mon Sep 17 00:00:00 2001 +From: Jake Hunsaker +Date: Tue, 29 Jun 2021 15:49:00 -0400 +Subject: [PATCH] [yum] Fix potential traceback when yum history is empty + +Like we did in #969 for `dnf`, fix a potential issue where we would +generate a traceback in the plugin when `yum history` is empty. + +Signed-off-by: Jake Hunsaker +--- + sos/report/plugins/yum.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sos/report/plugins/yum.py b/sos/report/plugins/yum.py +index 54e222df..aec805e6 100644 +--- a/sos/report/plugins/yum.py ++++ b/sos/report/plugins/yum.py +@@ -91,7 +91,7 @@ class Yum(Plugin, RedHatPlugin): + # packages installed/erased/updated per transaction + if self.get_option("yum-history-info"): + history = self.exec_cmd("yum history") +- transactions = None ++ transactions = -1 + if history['status'] == 0: + for line in history['output'].splitlines(): + try: +-- +2.31.1 + +From a7a4ef73faee6cddba36bf670d4a20ab0521c36f Mon Sep 17 00:00:00 2001 +From: Pavel Moravec +Date: Wed, 30 Jun 2021 13:10:56 +0200 +Subject: [PATCH] [plugins] Set default predicate instead of None for + robustness + +Just making the code more robustness, it could be dangerous to +set pred = None and then potentially call log_skipped_cmd that +expects "pred" of SoSPredicate type. + +Currently such a call flow can not happen, but it is worth to +make the code more robust for potential future changes. + +Resolves: #2601 + +Signed-off-by: Pavel Moravec +--- + 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 6fd1a3b2..b9cd28ed 100644 +--- a/sos/report/plugins/__init__.py ++++ b/sos/report/plugins/__init__.py +@@ -1629,7 +1629,7 @@ class Plugin(object): + + def _add_cmd_output(self, **kwargs): + """Internal helper to add a single command to the collection list.""" +- pred = kwargs.pop('pred') if 'pred' in kwargs else None ++ pred = kwargs.pop('pred') if 'pred' in kwargs else SoSPredicate(self) + soscmd = SoSCommand(**kwargs) + self._log_debug("packed command: " + soscmd.__str__()) + for _skip_cmd in self.skip_commands: +-- +2.31.1 + diff --git a/SPECS/sos.spec b/SPECS/sos.spec index 1b1481c..1f5c778 100644 --- a/SPECS/sos.spec +++ b/SPECS/sos.spec @@ -5,7 +5,7 @@ Summary: A set of tools to gather troubleshooting information from a system Name: sos Version: 4.1 -Release: 3%{?dist} +Release: 4%{?dist} Group: Applications/System Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz Source1: sos-audit-%{auditversion}.tgz @@ -37,6 +37,9 @@ Patch14: sos-bz1886711-enhance-tc-hw-offload.patch Patch15: sos-bz1965001-fix-avc-copystating-proc-sys.patch Patch16: sos-bz1967613-sssd-common.patch Patch17: sos-bz1973675-ocp-cluster-cleaner.patch +Patch18: sos-bz1923938-sos-log-effective-options.patch +Patch19: sos-bz1985986-potential-issues-static-analyse.patch +Patch20: sos-bz1959598-conversions-and-upgrades.patch %description @@ -65,6 +68,9 @@ support technicians and developers. %patch15 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 %build %py3_build @@ -80,12 +86,15 @@ cd %{name}-audit-%{auditversion} DESTDIR=%{buildroot} ./install.sh cd .. -mkdir -p %{buildroot}%{_sysconfdir}/sos/cleaner +mkdir -p %{buildroot}%{_sysconfdir}/sos/{cleaner,presets.d,extras.d,groups.d} %files -f %{name}.lang %{_sbindir}/sosreport %{_sbindir}/sos %{_sbindir}/sos-collector +%dir /etc/sos/presets.d +%dir /etc/sos/extras.d +%dir /etc/sos/groups.d %{python3_sitelib}/* %{_mandir}/man1/sosreport.1.gz %{_mandir}/man1/sos-clean.1.gz @@ -128,6 +137,14 @@ of the system. Currently storage and filesystem commands are audited. %ghost /etc/audit/rules.d/40-sos-storage.rules %changelog +* Mon Jul 26 2021 Pavel Moravec = 4.1-4 +- [options] allow variant option names in config file + Resolves: bz1923938 +- [plugins] Set default predicate instead of None + Resolves: bz1985986 +- [MigrationResults] collect info about conversions + Resolves: bz1959598 + * Mon Jun 21 2021 Pavel Moravec = 4.1-3 - [gluster] collect public keys from the right dir Resolves: bz1925419