Skip to content

sos-4.2

Compare
Choose a tag to compare
@TurboTurtle TurboTurtle released this 16 Aug 16:01

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.
  • 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 to main.
  • 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, and foreman_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 of 0 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.

Plugin Changes

  • The Plugin class no longer contains/supports a version 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 to add_cmd_output and add_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 as packages, services, etc...
  • Wrappers for common os methods dealing with filesystem path inspection have been added to Plugin to automatically account for changes --sysroots.
    • These methods follow their os counterparts, for example os.listdir() and os.path.exists() are now exposed through Plugin.listdir() and Plugin.path_exists() respectively.
  • 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 the sar 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.
  • 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 or sos 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.