Blob Blame History Raw
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}

%global auditversion 0.3

Summary: A set of tools to gather troubleshooting information from a system
Name: sos
Version: 4.2
Release: 15%{?dist}
Group: Applications/System
Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz
Source1: sos-audit-%{auditversion}.tgz
License: GPLv2+
BuildArch: noarch
Url: https://github.com/sosreport/sos
BuildRequires: python3-devel
BuildRequires: gettext
Requires: libxml2-python3
Requires: bzip2
Requires: xz
Conflicts: vdsm < 4.40
Obsoletes: sos-collector
Recommends: python3-pexpect
Recommends: python3-requests
Patch1: sos-bz2011413-cpuX-individual-sizelimits.patch
Patch2: sos-bz1998521-unpackaged-recursive-symlink.patch
Patch3: sos-bz1998433-opacapture-under-allow-system-changes.patch
Patch4: sos-bz2002145-kernel-psi.patch
Patch5: sos-bz2001096-iptables-save-under-nf_tables-kmod.patch
Patch6: sos-bz1873185-estimate-only-option.patch
Patch7: sos-bz2005195-iptables-based-on-ntf.patch
Patch8: sos-bz2011506-foreman-puma-status.patch
Patch9: sos-bz2012856-dryrun-uncaught-exception.patch
Patch10: sos-bz2004929-openvswitch-offline-analysis.patch
Patch11: sos-bz2012857-plugin-timeout-unhandled-exception.patch
Patch12: sos-bz2018033-plugin-timeouts-proper-handling.patch
Patch13: sos-bz2020777-filter-namespace-per-pattern.patch
Patch14: sos-bz2023867-cleaner-hostnames-improvements.patch
Patch15: sos-bz2025610-RHTS-api-change.patch
Patch16: sos-bz2025403-nvidia-GPU-info.patch
Patch17: sos-bz2030741-rhui-logs.patch
Patch18: sos-bz2036697-ocp-backports.patch
Patch19: sos-bz2043102-foreman-tasks-msgpack.patch
Patch20: sos-bz2041488-virsh-in-foreground.patch
Patch21: sos-bz2042966-ovn-proper-package-enablement.patch
Patch22: sos-bz2054882-plugopt-logging-effective-opts.patch
Patch23: sos-bz2055547-honour-plugins-timeout-hardcoded.patch

%description
Sos is a set of tools that gathers information about system
hardware and configuration. The information can then be used for
diagnostic purposes and debugging. Sos is commonly used to help
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
%patch23 -p1

%build
%py3_build

%install
%py3_install '--install-scripts=%{_sbindir}'

install -Dm644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf

%find_lang %{name} || echo 0

cd %{name}-audit-%{auditversion}
DESTDIR=%{buildroot} ./install.sh
cd ..

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
%{_mandir}/man1/sos-collect.1.gz
%{_mandir}/man1/sos-collector.1.gz
%{_mandir}/man1/sos-mask.1.gz
%{_mandir}/man1/sos-report.1.gz
%{_mandir}/man1/sos.1.gz
%{_mandir}/man5/sos.conf.5.gz
%doc AUTHORS README.md
%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
License: GPLv2+
Group: Application/System

%description audit

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.

%post audit
%{_sbindir}/sos-audit.sh

%files audit
%defattr(755,root,root,-)
%{_sbindir}/sos-audit.sh
%defattr(644,root,root,-)
%config(noreplace) %{_sysconfdir}/sos/sos-audit.conf
%defattr(444,root,root,-)
%{_prefix}/lib/sos/audit/*
%{_mandir}/man5/sos-audit.conf.5.gz
%{_mandir}/man8/sos-audit.sh.8.gz
%ghost /etc/audit/rules.d/40-sos-filesystem.rules
%ghost /etc/audit/rules.d/40-sos-storage.rules

%changelog
* Wed Feb 23 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-15
- [sosnode] Handle downstream versioning for runtime option
  Resolves: bz2036697
- [options] Fix logging on plugopts in effective sos command
  Resolves: bz2054882
- [report] Honor plugins' hardcoded plugin_timeout
  Resolves: bz2055547
- [policies] Set fallback to None sysroot, don't chroot to '/'
  Resolves: bz1873185
- [ovn_central] Rename container responsable of Red Hat
  Resolves: bz2042966

* Wed Jan 26 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-13
- [virsh] Catch parsing exception
  Resolves: bz2041488

* Tue Jan 25 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-12
- [foreman] Use psql-msgpack-decode wrapper for dynflow >= 1.6
  Resolves: bz2043102
- [virsh] Call virsh commands in the foreground / with a TTY
  Resolves: bz2041488
- [ovn_central] Account for Red Hat ovn package naming
  Resolves: bz2042966
- [clean,parsers] Build regex lists for static items only once
  Resolves: bz2036697

* Mon Jan 10 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-11
- [report] Add journal logs for NetworkManager plugin
  Resolves: bz2036697

* Fri Jan 07 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-9
- add oc transport, backport various PRs for OCP
  Resolves: bz2036697
- [report] Provide better warning about estimate-mode
  Resolves: bz1873185
- [hostname] Fix loading and detection of long base domains
  Resolves: bz2023867

* Sun Dec 19 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-8
- [rhui] New log folder
  Resolves: bz2030741
- nvidia]:Patch to update nvidia plugin for GPU info
  Resolves: bz2025403
- [hostname] Fix edge case for new hosts in a known subdomain
  Resolves: bz2023867

* Wed Dec 08 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-7
- [hostname] Simplify case matching for domains
  Resolves: bz2023867

* Tue Nov 30 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-6
- [redhat] Fix broken URI to upload to customer portal
  Resolves: bz2025610

* Mon Nov 22 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-5
- [clean,hostname_parser] Source /etc/hosts for obfuscation
  Resolves: bz2023867
- [clean, hostname] Fix unintentionally case sensitive
  Resolves: bz2023863
- [redhat] update SFTP API version to v2
  Resolves: bz2025610

* Tue Nov 16 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-4
- [report] Calculate sizes of dirs, symlinks and manifest in
  Resolves: bz1873185
- [report] shutdown threads for timeouted plugins
  Resolves: bz2012857
- [report] fix filter_namespace per pattern
  Resolves: bz2020777
- Ensure specific plugin timeouts are only set
  Resolves: bz2018033

* Wed Nov 03 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-2
- [firewall_tables] call iptables -t <table> based on nft
  Resolves: bz2005195
- [report] Count with sos_logs and sos_reports in
  Resolves: bz1873185
- [foreman] Collect puma status and stats
  Resolves: bz2011506
- [report] Overwrite pred=None before refering predicate
  Resolves: bz2012856
- [openvswitch] add commands for offline analysis
  Resolves: bz2004929

* Wed Oct 06 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-1
- Rebase on upstream 4.2
  Resolves: bz1998133
- [report] Implement --estimate-only
  Resolves: bz1873185
- [omnipath_client] Opacapture to run only with allow changes
  Resolves: bz1998433
- [unpackaged] deal with recursive loop of symlinks properly
  Resolves: bz1998521
- [networking] prevent iptables-save commands to load nf_tables
  Resolves: bz2001096
- [kernel] Capture Pressure Stall Information
  Resolves: bz2002145
- [processor] Apply sizelimit to /sys/devices/system/cpu/cpuX
  Resolves: bz2011413

* Wed Aug 11 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-5
- [report,collect] unify --map-file arguments
  Resolves: bz1923938
- [rhui] add new plugin for RHUI 4
  Resolves: bz1665947
- [username parser] Load usernames from `last` for LDAP users
  Resolves: bz1985037

* Mon Jul 26 2021 Pavel Moravec <pmoravec@redhat.com> = 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 <pmoravec@redhat.com> = 4.1-3
- [gluster] collect public keys from the right dir
  Resolves: bz1925419
- [cleaner] Only skip packaging-based files for the IP parse
  Resolves: bz1964499
- [networking] collect also tc filter show ingress
  Resolves: bz1886711
- [archive] skip copying SELinux context for /proc and /sys
  Resolves: bz1965001
- [sssd] sssd plugin when sssd-common
  Resolves: bz1967613
- Various OCP/cluster/cleanup enhancements
  Resolves: bz1973675

* Tue May 18 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-2
- Load maps from all archives before obfuscation
  Resolves: bz1930181
- Multiple fixes in man pages
  Resolves: bz1935603
- [ds] Mask password and encryption keys in ldif files
  Resolves: bz1937298
- [report] add --cmd-timeout option
  Resolves: bz1937418
- [cups] Add gathering cups-browsed logs
  Resolves: bz1939963
- [sssd] Collect memory cache / individual logfiles
  Resolves: bz1940502
- Collect ibmvNIC dynamic_debugs
  Resolves: bz1942276
- [pulpcore] add plugin for pulp-3
  Resolves: bz1956673
- [saphana] remove redundant unused argument of get_inst_info
  Resolves: bz1959413
- [networking] Add nstat command support
  Resolves: bz1961458
- [snapper] add a new plugin
  Resolves: bz1961229

* 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
  Resolves: bz1923937

* Fri Jan 29 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-7
- [kdump] Gather the file kexec-dmesg.log
  Resolves: bz1887402
- [Policy] Handle additional FTP authentication issues
  Resolves: bz1916729

* Thu Jan 21 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-6
- [networking] Collect 'ethtool -e <device>' conditionally only
  Resolves: bz1917196

* Wed Jan 06 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-5
- [component] honour plugopts from config file
  Resolves: bz1912889
- [collector] declare sysroot for each component
  Resolves: bz1912821
- [plugins] Dont stop collecting by empty specfile when sizelimit=0
  Resolves: bz1912910

* Mon Jan 04 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-4
- [component] Use sysroot from Policy when opts doesn't specify it
  Resolves: bz1881118

* Mon Dec 14 2020 Pavel Moravec <pmoravec@redhat.com> = 4.0-3
- [ovirt] collect /etc/pki/ovirt-engine/.truststore
  Resolves: bz1848095
- [collector] allow overriding plain --cluster-type
  Resolves: bz1895316
- [component] Add log verbosity from presets
  Resolves: bz1904045
- [options] Fix --log-size=0 being ignored and unreported
  Resolves: bz1905657
- [report] collect broken symlinks
  Resolves: bz1906598

* Thu Oct 29 2020 Pavel Moravec <pmoravec@redhat.com> = 4.0-2
- [cleaner] more streamlined sanitize_item method
  Resolves: bz1827801
- [openstack_ironic] Missing ironic-inspector configs
  Resolves: bz1874295
- Add support to collect hardware component logs
  Resolves: bz1880372
- [crio] collect /etc/crio/crio.conf.d/
  Resolves: bz1881118
- [policy] Handle additional failure conditions for FTP uploads
  Resolves: bz1882368
- [filesys] never collect content of /proc/fs/panfs
  Resolves: bz1886782
- [kdump] Collect new kdump logfiles
  Resolves: bz1887390
- [stratis] Collect key list and report engine
  Resolves: bz1888012
- return tmp-dir with absolute path
  Resolves: bz1891562

* Tue Oct 13 2020 Pavel Moravec <pmoravec@redhat.com> = 4.0-1
- Rebase on upstream 4.0
  Resolves: bz1827801