Skip to content

Conversation

@dwolstroRH
Copy link
Contributor


Please place an 'X' inside each '[]' to confirm you adhere to our Contributor Guidelines

  • Is the commit message split over multiple lines and hard-wrapped at 72 characters?
  • Is the subject and message clear and concise?
  • Does the subject start with [plugin_name] if submitting a plugin patch or a [section_name] if part of the core sosreport code?
  • Does the commit contain a Signed-off-by: First Lastname email@example.com?
  • Are any related Issues or existing PRs properly referenced via a Closes (Issue) or Resolved (PR) line?
  • Are all passwords or private data gathered by this PR obfuscated?

dwolstroRH and others added 30 commits July 30, 2025 14:44
Uploads of files greater than 1Gb switch to go to sftp. The
code incorrectly tried to write to the home directory in sftp,
but should switch into the /{user} directory instead so
proper permissions exist.

Related: RHEL-52919

Signed-off-by: David Wolstromer <dwolstro@redhat.com>
Allow running cleaner concurrently via child processes. They synchronize
on the ordering of items added to dataset of each mapper by creating
numbered files in a directory specific for each mapper. Together with
deterministic generation of obfuscated values, this ensures the
individual processes end up with identical mappings.

Resolves: sosreport#3097
Closes: sosreport#3988

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Capture /etc/services file

Related: RHEL-105407

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
This Update allows a specific container runtime to be passed to
add_cmd_output so commands that must use a specific runtime do so.

Related: SUPDEV-180

Signed-off-by: David Wolstromer <dwolstro@redhat.com>
WHile plugin execution makes sense only when mdadm package is installed.

Closes: sosreport#4095

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
The command apt-mark showhold is useful to show what
packages have been marked as 'held' in apt, as this
can lead to a variety of issues.

Signed-off-by: Daniel Emmons <dan.emmons@canonical.com>
Modify the function add_dir_listing() to accept a new
argument, 'sparse', that will enable the use of the
option '-s', to list the allocated size of a file
in blocks.

Related: RHEL-107275

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
Capture the block usage of files inside /var/log
to show the size of spare files in that directory.

Related: RHEL-107275

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
These are large and unnecessary in most cases: forbid all *.img files in
the /boot/boom/cache directory allowing the plugin to collect all the
text files under /boot/boom that are actually useful.

Related: sosreport#4098

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
Grab the output of 'boom cache list': it's more readable than the
cacheindex.json metadata file and displays the status of cached files.

Resolves: sosreport#4098

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
Add a plugin for the snapm snapshot manager tool:

  https://github.com/snapshotmanager/snapm

Collect:

  * /etc/snapm configuration directory
  * snapm snapset list
  * snapm snapshot list
  * snapm plugin list
  * snapm schedule list
  * snapm -vv --debug=all snapset show

N.b: the /etc/snapm directory and the 'snapm schedule list' command are
part of the v0.5.0 release currently in testing. Earlier releases lack
these files/subcommands:

  https://github.com/snapshotmanager/snapm/releases/tag/v0.5.0

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
This commit marks the release of sos-4.10.0.

Signed-off-by: Jake Hunsaker <jacob.r.hunsaker@gmail.com>
Improve postproc obfuscation in two ways:
- apply postproc also to /var/lib/openstack/config/nova on RedHatNova
- obfuscate just password from transport_url, not the whole URL

Closes: sosreport#4108

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
The fix is three-fold:
- obfuscate_file must clean file content and not filename
- cleaner's main_archive must be populated by parsers first
- obfuscate_file dont need short_name as it is always called with
  implicit value of short_name that cleaner will strip itself

Closes: sosreport#4109
Closes: sosreport#4110

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Mateusz Kulewicz <mateusz.kulewicz@canonical.com>

[loki] Collecting Loki logs is optional

[loki] Pass labels as option

Signed-off-by: Mateusz Kulewicz <mateusz.kulewicz@canonical.com>

[loki] Get logs in separate method

Signed-off-by: Mateusz Kulewicz <mateusz.kulewicz@canonical.com>

[loki] Logs pagination

Signed-off-by: Mateusz Kulewicz <mateusz.kulewicz@canonical.com>

[loki] Configurable endpoint

[loki] Formatting

Signed-off-by: Mateusz Kulewicz <mateusz.kulewicz@canonical.com>

[loki] Constants, code robustness

Signed-off-by: Mateusz Kulewicz <mateusz.kulewicz@canonical.com>

[loki] Debugging

Signed-off-by: Mateusz Kulewicz <mateusz.kulewicz@canonical.com>
Signed-off-by: Nagoor Shaik <nshaik@redhat.com>
Add lsslot commands to collect information about hot-plug capable PCI
and PHB slots and their resources.

The output from the added commands is generally only a few KBs.

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Collect detailed disk usage of Podman resources, including images,
containers, and volumes.

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Capture the /etc/crypttab file

Related: RHEL-108949

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
Related: RHEL-103783

Signed-off-by: David Wolstromer <dwolstro@redhat.com>
Closes: sosreport#4119

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
When the command 'rhc status' runs in the plugin rhc,
it starts automatically the rhsm service. This
commit gates the command to make sure it's not
run when the rhssm service is not running.

Related: RHEL-112563

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
Spyre chip is IBM’s AI accelerator, designed to handle AI inferencing
and workloads.

The Spyre plugin collects data about the Spyre card’s VFIO device node
tree, configuration files, and more.

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
We have been seeing some odd failures with the CI around Fedora,
particularly with the rpmbuild failing which then cancels the rest of
the suite due to dependency resolution.

We're working with Cirrus support, but until we have a fix let's disable
the Fedora testing to unblock the rest of the suite.

Signed-off-by: Jake Hunsaker <jacob.r.hunsaker@gmail.com>
We need to add the netmask to the string to obfuscate, i.e. to the first
group of matched r.e. Otherwise, '2620:52:0:25c0::/64' like string is
obfuscated to '534f:53ff:fe00:0002::/64/64'.

Closes: sosreport#4124

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
57bbc89 commit set tmpdir to source the dir from Policy. Which means
HOST sysroot directory is newly applied already in
LinuxPolicy._container_init method.

Removed lines mimic the same in a worse way, so let drop them here.

Resolves: sosreport#4116
Closes: sosreport#4118

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
The formatting of the distros column was leaving the
string 'Plu' when it found 'PluginOpt'. This fix
explicitly deals with both 'PluginOpt' and 'Plugin'
strings and removes them.

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
* Use latest version of Foreman
* Test using Ubuntu 22.04, Debian 12, and CentOS Stream 9

Related: sosreport#4094

Co-authored-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Arif Ali <arif-ali@ubuntu.com>
This will allow containers = (..) to be checked against given runtime,
if it is not default one.

Related: sosreport#4123

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
OpenShift OVN has both podman and crio runtimes and sos detects podman
as the default one. While the containers triggering openshift_ovn
enabledness are under 'crio' runtime.

Closes: sosreport#4123
Relevant: RHEL-110512

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
stojedna and others added 18 commits November 5, 2025 15:45
Signed-off-by: Javier Blanco <javier@jblanco.es>
Evident typo.

Closes: sosreport#4136

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Arif Ali <arif-ali@ubuntu.com>
Resolves: sosreport#4129
Closes: sosreport#4132

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
The default value for networking.namespaces in the file
tests/report_tests/options_tests/options_tests_sos.conf
is 100, while the value for this variable in
tests/report_tests/options_tests/options_tests_preset.json
is 200. To make sure that preset beats the config file
we need to change the value from 100 to 200.

Related: sosreport#4087

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
RE match does not match /var/log/juju/unit-nova-compute-*.log* to
anything.

Closes: sosreport#4143
Relevant: sosreport#4129

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
This is now automated in Launchpad, and not required upstream. The build is done
on a daily basis now, rather than on every commit.

Signed-off-by: Arif Ali <arif-ali@ubuntu.com>
The LTS releases are the ones that are supported for a long time, so these won't
change for a long time. It makes sense to have the versions of these visible,
rather than just changing to prior or prior2. This can get confusing when
updating or adding new versions.

Signed-off-by: Arif Ali <arif-ali@ubuntu.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Deezzir <yurii.kondrakov@canonical.com>
* Config option messaging_urls was not detected in ceilometer.
* Revamp the regex for this plugin to potentially detect most scenarios.
* Revamp other plugins to have better regex, to potentially pick up others.

Signed-off-by: Arif Ali <arif-ali@ubuntu.com>
Signed-off-by: Pablo Fernández Rodríguez <pafernan@redhat.com>
Signed-off-by: Nagoor Shaik <nshaik@redhat.com>

EDA Version in AAP 2.4 uses environment file to store configuration
ex: /etc/ansible-automation-platform/eda/environment

EDA version AAP 2.5 and above uses a YAML file to store config
ex: /etc/ansible-automation-platform/eda/settings.yaml
Substitute the current 'domain-status -o' command
with 'sssctl domain-status $domain' which shows
list of of available AD/IPA servers as well
along with online/offline status for the specified domain.

Also include output of command sssctl access-report $domain

Related: RHEL-108358

Signed-off-by: Jose Castillo <jcastillo@redhat.com>
The /etc/lnet.conf file can have configured lnet settings
for a lustre server or client.

Signed-off-by: Nathaniel Clark <nclark@whamcloud.com>
Forgetting to provide mandatory username of the AAP containerized
deployment leads to skipping plugin completely and lack of collected
data.

Let add a heuristic "is there a sole user running some podman
container?" to detect the user in such a case.

Closes: sosreport#4150

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
	 with fix for uploads greater than 1 GB

Related: RHEL-52919

Signed-off-by: David Wolstromer <dwolstro@redhat.com>
@packit-as-a-service
Copy link

Congratulations! One of the builds has completed. 🍾

You can install the built RPMs by following these steps:

  • sudo yum install -y dnf-plugins-core on RHEL 8
  • sudo dnf install -y dnf-plugins-core on Fedora
  • dnf copr enable packit/sosreport-sos-4156
  • And now you can install the packages.

Please note that the RPMs should be used only in a testing environment.

Copy link
Member

@TurboTurtle TurboTurtle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not clear to me what the purported issue this is intended to fix is, or how it actually goes about fixing it. An actual commit message would go a long way here.

Additionally, you'll need to rebase your changed on current main, so that this branch doesn't attempt to pull in 50 other preceding commits again.

Collects dump files on Debian when the following conditions are met:

 - The dump file is not older than 24 hours.
 - The dump file size is not greater than 2 GB.
 - Plugin specific option kdump.get-vm-core=true is passed

Additionally, it collects the dmesg files, the kexec_cmd file, and the
linux-image file present in the dump target configured in the kdump
configuration file /etc/default/kdump-tools.

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
@TurboTurtle TurboTurtle added Status/Need More Info Feedback is required to reproduce issue or to continue work Kind/Bug Something is not working, and this fixes the issue labels Nov 16, 2025
@pmoravec
Copy link
Contributor

THIS is the key commit:

dwolstroRH@16b1431

but I agree, you need to rebase your branch.

Do I get it right that the 4003238 "Enable sos uploads of files bigger than 1Gb" has some side-effect or missing piece?

I miss the description of the error you aim to fix /o.

@arif-ali arif-ali added the Reviewed/Needs Rebase Code has been reviewed and can be merged once branch is rebased to current main. label Nov 21, 2025
@pmoravec
Copy link
Contributor

I do approve the code change (when SFTP-ing to Red Hat SFTP server under anonymous user, a randomly generated on-time username is used that does not have home. In that case, we cant upload to its home but to default dir).

Please squash the commits into one, or create a new branch based on current upstream, and apply there just the patch:

--- a/sos/upload/targets/redhat.py
+++ b/sos/upload/targets/redhat.py
@@ -184,6 +184,7 @@ class RHELUploadTarget(UploadTarget):
 
         url = self.RH_API_HOST + '/support/v2/sftp/token'
         ret = None
+        ftp_user_directory = None
         if self._device_token:
             headers = self._get_upload_https_auth()
             ret = requests.post(url, headers=headers, timeout=10)
@@ -200,6 +201,7 @@ class RHELUploadTarget(UploadTarget):
                     "Unable to retrieve Red Hat auth token using provided "
                     "credentials. Will try anonymous."
                 )
+            ftp_user_directory = _user
         else:
             adata = {"isAnonymous": True}
             anon = requests.post(url, data=json.dumps(adata), timeout=10)
@@ -218,7 +220,7 @@ class RHELUploadTarget(UploadTarget):
                 )
         if _user and _token:
             return super().upload_sftp(user=_user, password=_token,
-                                       user_dir=_user)
+                                       user_dir=ftp_user_directory)
         raise Exception("Could not retrieve valid or anonymous credentials")
 
     def check_file_too_big(self, archive):

@arif-ali
Copy link
Member

This is still not squashed, and still has 55 commits; we ought to be seeing only 1 commit. Once that is done, this can be reviewed and work on

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Kind/Bug Something is not working, and this fixes the issue Reviewed/Needs Rebase Code has been reviewed and can be merged once branch is rebased to current main. Status/Need More Info Feedback is required to reproduce issue or to continue work

Projects

None yet

Development

Successfully merging this pull request may close these issues.