sos-4.2
The sos team is pleased to announce the release of sos-4.2. This release contains numerous improvements and bug fixes to several components within sos, including an overhaul to the project's test suite and infrastructure.
Global Changes
- SoS now uses the Avocado Framework for our test suite. This has provided significantly increased testing coverage as well as providing a much easier path to writing new tests going forward.
- For more information on how to build new test cases, see the How to Write a Test wiki page.
- Every PR now has the new test suite run against a current and previous version of Fedora and Ubuntu, as well as the current version of CentOS Stream.
- Additional testing has been provided for The Foreman project.
- The use of the term
master
has been deprecated as part of a neutral language initiative. It will be removed sometime between this release and the 4.3 release.- As of the release of sos-4.2, the
master
branch on GitHub will be renamed/switched tomain
.
- As of the release of sos-4.2, the
- PackIt is now enabled for all PRs to provide a copr RPM for those changes to allow for easier testing.
- Verbosity levels now have more standardized meanings:
- 0: The default, do not print debug messages to either the logs or console
- 1: Print debug messages to the log, but not console
- 2: Print debug messages to both the log and console
- 3: Enable debug messages from archive operations
Policy Changes
- Fixed an issue that would prevent uploading archives to Ubuntu/Canonical's upload server.
- Users may now toggle SSL verification on or off for HTTPS uploads of archives.
- Added support for SFTP uploads.
- The public FTP dropbox for Red Hat systems has been removed in favor of the new SFTP upload, as the public FTP dropbox is being decomissioned.
- Removed unused IBM policy overrides.
Report Changes
- Added 13 new plugins:
openstack_database
,zvm
,usbguard
,ostree
,flatpak
,quacli
,storcli
,smclient
,opensvc
,pulpcore
,rhui
,migration_results
,opencontrail
- The
foreman
plugin has been split into new plugins. These are now:foreman
,foreman_proxy
, andforeman_installer
. - Removed the
upstart
plugin. - The order of entries in html and text reports will now be sorted based on the name of the entry.
- A new
--cmd-timeout
option has been added, that allows users to specify a maximum timeout for all commands that sos executes. sos report
will no longer abort execution when a non-existent plugin is requested to be skipped.- Commands that would be skipped are now reported in dry runs.
- A new
--namespaces
option has been added that allows users to limit the number of network namespaces that plugins will iterate over. The default value of0
means unlimited.- Plugins that do iterate over network namespaces also have a plugin-specific
namespaces
option as well. The plugin option will override any value passed to the global--namespaces
option to allow users to have fine-grained control over this kind of iteration.
- Plugins that do iterate over network namespaces also have a plugin-specific
Plugin Changes
- The
Plugin
class no longer contains/supports aversion
attribute, as it was unused for many years. - Command output that has been truncated will now be written to the archive the same way truncated files are. They will be saved under sos_strings/ with a '.tailed' extension, and then symlinked to the relevant location.
- A new
priority
parameter has been added toadd_cmd_output
andadd_journal
that allows plugins to influence the order of command execution, regardless of when they are defined in the plugin. Lower values will run before higher values. - Many collections now have added tags that will appear in sos_reports/manifest.json and can be used by third party utilities for better inspection of archive contents.
- By default, any services defined in a Plugin's
services
tuple will now automatically trigger a journal collection for those services. - Plugins may now be enabled based upon the presence of specific running containers via the new
containers
tuple. This works the same aspackages
,services
, etc... - Wrappers for common
os
methods dealing with filesystem path inspection have been added toPlugin
to automatically account for changes--sysroot
s.- These methods follow their
os
counterparts, for exampleos.listdir()
andos.path.exists()
are now exposed throughPlugin.listdir()
andPlugin.path_exists()
respectively.
- These methods follow their
- The
sssd
plugin will now individually capture memory cache files, rather than globbing them together which may have hit collection size limits. mysql
plugin collection paths have been updated for Ubuntu and Debian distributions.- The
kata_containers
plugin has been updated for use with kata version 2. - Improved the collection of all formats of
sar
data files for thesar
plugin. - The
openstack_instack
plugin will now collect config file overrides. - Overhauled the
openshift
plugin to significantly expand and improve collections of OCP4 systems.
Clean|Mask Changes
- Fixed an issue where blank lines could be stripped from files that have other obfuscations occuring in them. This should help preserve the readability of obfuscated config files.
- By default,
sos clean
will now remove binary files in an archive, as binary files cannot be obfuscated and may contain identifying information.- To disable this behavior, use the new
--keep-binary-files
option.
- To disable this behavior, use the new
- Improved the handling of symlinks that contain sensitive substrings in their paths.
- Improved the obfuscation of directory names and paths that contain sensitive substrings.
sos clean
will now use a single-process ProcessPool during the extraction process of an existing archive (e.g.sos clean /path/to/archive
orsos collect --clean
runs) in order to avoid potentially significant performance issues when extracting multiple large archives simultaneously.- The username parser will now obfuscate LDAP users reported via
last
output.- Note that this means the LDAP user must have logged in to the system for their username to be obfuscated.
Collect Changes
- Added previously missing component options to the
man sos-collect
manpage. - Added options to provide registry authentication credentials when pulling a container image for remote containerized hosts in a
sos collect
run. - The
--master
option has been deprecated. Use the new--primary
option or its aliases--controller
, or--manager
, as the deprecated form will be removed entirely in the next release. - Fixed a bug where sos options would be clobbered across multiple nodes in the same run.
- Fixed a typo in the
--plugin-option
passthru option. The previous--plugin-options
(with an 's') was incorrect. - Corrected the per-node parsing of available plugins on newer remote sos installations versus older local installations.
sos collect
will no longer abort if the target for enumerating systems within a cluster does not itself has sos installed.- Added a new cluster profile for OCP4 environments.
For full information on the changes contained in this release, please refer to the Git commit logs. Further release information and tarballs are available at:
https://github.com/sosreport/sos/releases/tag/4.2
Please report any problems to the sos-devel mailing list, or the GitHub issue tracker:
https://github.com/sosreport/sos/issues/
The team would like to thank everyone who contributed fixes, new features, testing, and feedback for this release.